From 7f181c21542fafc59ce74d30cf1d01f0b4e27f47 Mon Sep 17 00:00:00 2001 From: BO ZHANG Date: Tue, 11 Oct 2022 13:47:22 +0800 Subject: [PATCH] added merge_request.png --- doc/source/vcs.rst | 77 ++++++++++++++++++++++++++++++- doc/source/vcs/merge_request.png | Bin 0 -> 30950 bytes 2 files changed, 75 insertions(+), 2 deletions(-) create mode 100644 doc/source/vcs/merge_request.png diff --git a/doc/source/vcs.rst b/doc/source/vcs.rst index e79f741..6e7cfea 100644 --- a/doc/source/vcs.rst +++ b/doc/source/vcs.rst @@ -134,8 +134,8 @@ a code reviewer is required to merge approved code revisions into ``main`` branc .. _csst-l1: https://csst-tb.bao.ac.cn/code/csst-l1 -Code review ------------ +Code review mechanism +--------------------- Starting from C7, developers of all packages should NOT directly push any code to *main* branch which is protected. @@ -146,3 +146,76 @@ Developers should switch to a ``dev`` branch before doing anything. Then commit code and push them to ``dev`` branch. +Workflow with ``dev`` branch +---------------------------- + +.. code-block:: + :caption: As a developer: + + (base) cham@MBP16 csst_proto % git branch -a # show all branch + dev + * main + remotes/origin/main + (base) cham@MBP16 csst_proto % git checkout dev # check out dev -> then you are in dev branch + M doc/source/conf.py + M doc/source/index.rst + M doc/source/integration.rst + M doc/source/vcs.rst + Switched to branch 'dev' + (base) cham@MBP16 csst_proto % git status # view code changes + On branch dev + Changes not staged for commit: + (use "git add ..." to update what will be committed) + (use "git restore ..." to discard changes in working directory) + modified: doc/source/conf.py + modified: doc/source/index.rst + modified: doc/source/integration.rst + modified: doc/source/vcs.rst + + Untracked files: + (use "git add ..." to include in what will be committed) + doc/contents.md + + no changes added to commit (use "git add" and/or "git commit -a") + (base) cham@MBP16 csst_proto % git add doc/source/*.rst doc/source/conf.py # add your code changes + (base) cham@MBP16 csst_proto % git commit -m "updated doc: author info and docker info" # commit your changes + [dev bbed3fa] updated doc: author info and docker info + 4 files changed, 73 insertions(+), 4 deletions(-) + (base) cham@MBP16 csst_proto % git push origin dev # as a developer you are not allowed to push to main branch + Enumerating objects: 15, done. + Counting objects: 100% (15/15), done. + Delta compression using up to 10 threads + Compressing objects: 100% (8/8), done. + Writing objects: 100% (8/8), 1.67 KiB | 1.67 MiB/s, done. + Total 8 (delta 6), reused 0 (delta 0), pack-reused 0 + remote: + remote: To create a merge request for dev, visit: + remote: http://10.3.10.28/code/csst-l1/csst_proto/-/merge_requests/new?merge_request%5Bsource_branch%5D=dev + remote: + To https://csst-tb.bao.ac.cn/code/csst-l1/csst_proto.git + * [new branch] dev -> dev + +.. code-block:: + :caption: As a code reviewer: + + (base) cham@MBP16 csst_proto % git checkout main # check out main branch + Switched to branch 'main' + Your branch is up to date with 'origin/main'. + (base) cham@MBP16 csst_proto % git merge dev # merge dev branch into main AFTER view changes + Updating d9f64d3..bbed3fa + Fast-forward + doc/source/conf.py | 2 +- + doc/source/index.rst | 11 +++++++++++ + doc/source/integration.rst | 50 +++++++++++++++++++++++++++++++++++++++++++++++--- + doc/source/vcs.rst | 14 ++++++++++++++ + 4 files changed, 73 insertions(+), 4 deletions(-) + (base) cham@MBP16 csst_proto % git push origin main # push to remote main branch + Total 0 (delta 0), reused 0 (delta 0), pack-reused 0 + To https://csst-tb.bao.ac.cn/code/csst-l1/csst_proto.git + d9f64d3..bbed3fa main -> main + +.. note:: + As a developer, you can also create a merge requrest to ask code reviewers to merge your changes on GitLab. + Click ``Merge requests`` tag, click `` + +.. image:: vcs/merge_request.png diff --git a/doc/source/vcs/merge_request.png b/doc/source/vcs/merge_request.png new file mode 100644 index 0000000000000000000000000000000000000000..45575e6a5f6c4a1b7154283ac53240107265c93a GIT binary patch literal 30950 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 z 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 literal 0 HcmV?d00001 -- GitLab