Converted https://devel.rtems.org/wiki/Developer/Git/Committers to Rest, and TBDs and wiki TODOs into comments. Also changed http links to https (the ones that are possible), corrected some typos, created a folder for eng images and added some formatting.
This work was part of GCI 2018. --- eng/vc-authors.rst | 351 +++++++++++++++++++++++++++++++- images/eng/Git-personalrepo.png | Bin 0 -> 24895 bytes 2 files changed, 349 insertions(+), 2 deletions(-) create mode 100644 images/eng/Git-personalrepo.png diff --git a/eng/vc-authors.rst b/eng/vc-authors.rst index 68f28e3..dacb205 100644 --- a/eng/vc-authors.rst +++ b/eng/vc-authors.rst @@ -7,5 +7,352 @@ Software Development (Git Writers) ********************************** -TBD - Convert https://devel.rtems.org/wiki/Developer/Git/Committers -TBD - and insert here. +.. COMMENT: TBD - Convert https://devel.rtems.org/wiki/Developer/Git/Committers +.. COMMENT: TBD - and insert here. + +.. COMMENT: TBD - Some guidelines for anyone who wishes to contribute to +.. COMMENT: TBD - rtems... Patches? Pull Requests?... + + The preferred workflow for making changes to RTEMS is to push patches to a + committer's personal repository in public view and then merge changes from + there. For working on enhancements or bug fixes committers are encouraged to + push to branches on their personal repositories and to merge into the main + RTEMS repository from their personal repository. Personal branches should + not be pushed to the RTEMS repository. + +SSH Access +---------- + +Currently all committer's should have an ssh account on the main git server, +dispatch.rtems.org. If you have been granted commit access and do have an +account on dispatch.rtems.org one should be requested on the devel@… list. +SSH access for git uses key logins instead of passwords. The key should be at +least 1024bits in length. + +The public repositories can by cloned with + +.. code-block:: shell + + git clone ssh://u...@dispatch.rtems.org/data/git/rtems.git + +Or replace `rtems.git` with another repo to clone another one. + +Personal Repository +------------------- +Personal repositories keep the clutter away from the master repository. A +user with a personal repository can make commits, create and delete branches, +plus more without interfering with the master repository. Commits to the +master repository generate email to the vc@… list and development type commits +by a developer would only add noise and lessen the effectiveness of the commit +list + +A committer should maintain a personal clone of the RTEMS repository through +which all changes merged into the RTEMS head are sent. The personal repository +is also a good place for committers to push branches that contain works in +progress. The following instructions show how to setup a personal repositor +that by default causes commits to go to your private local repository and +pushes to go to your publicly visible personal repository. The RTEMS head is +configured as a remote repository named 'upstream' to which you can push +changes that have been approved for merging into RTEMS. + +Branches aren't automatically pushed until you tell git to do the initial push +after which the branch is pushed automatically. In order to keep code private +just put it on a branch in your local clone and do not push the branch. + +Create a personal repository +---------------------------- + +Set up the server side repository. In the following substitute user with your +username. + +.. code-block:: shell + + # ssh git.rtems.org + [user@git ~]$ ln -s /data/git/user git + [user@git ~]$ ls -l + lrwxrwxrwx 1 user rtems 16 Feb 1 11:52 git -> /data/git/user + [user@git ~]$ cd git + [user@git git]$ git clone --mirror /data/git/rtems.git + +Provide a description for the repository, for example "Clone of master +repository." + +.. code-block:: shell + + [user@git git]$ echo "Clone of master repository." > rtems.git/description + [user@git git]$ logout + +Clone the repository on your local machine + +.. code-block:: shell + + # git clone ssh://u...@dispatch.rtems.org/home/user/git/rtems.git + # cd rtems + +Add the RTEMS repository as a remote repository and get the remote tags +and branches + +.. code-block:: shell + + # git remote add upstream ssh://u...@dispatch.rtems.org/data/git/rtems.git + # git fetch upstream + +After a little while you should be able to see your personal repo +at https://git.rtems.org/@USER@/rtems.git/ and you can create other +repositories in your git directory that will propagate +to https://git.rtems.org/@USER@/ if you need. For example, `joel`'s personal +repos appear at https://git.rtems.org/joel/. + +.. image:: ../images/eng/Git-personalrepo.png + +Check your setup +~~~~~~~~~~~~~~~~ + +.. code-block:: shell + + git remote show origin + +Should print something similar to + +.. code-block:: shell + + * remote origin + Fetch URL: ssh://u...@dispatch.rtems.org/home/user/git/rtems.git + Push URL: ssh://u...@dispatch.rtems.org/home/user/git/rtems.git + HEAD branch: master + Remote branches: + 4.10 tracked + 4.8 tracked + 4.9 tracked + master tracked + Local branch configured for 'git pull': + master merges with remote master + Local ref configured for 'git push': + master pushes to master (up to date) + +Push commits to personal repo master from local master +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. code-block:: shell + + # git push + +Push a branch onto personal repo +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. code-block:: shell + + # git push origin branchname + +Update from upstream master (RTEMS head) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + When you have committed changes on a branch that is private (hasn't been + pushed to your personal repo) then you can use rebase to obtain a linear + history and avoid merge commit messages. + +.. code-block:: shell + + # git checkout new_features + # git pull --rebase upstream master + +If you cannot do a fast-forward merge then you could use the ``--no-commit`` +flag to prevent merge from issuing an automatic merge commit message. + +When you have committed changes on a branch that is public/shared with another +developer you should not rebase that branch. + +GIT Push Configuration +---------------------- + +People with write access to the main repository should make sure that they +push the right branch with the git push command. The above setup ensures +that git push will not touch the main repository, which is identified as +upstream, unless you specify the upstream (by ``git push upstream master``). + +Lets suppose we have a test branch intended for integration into the master +branch of the main repository. + +.. code-block:: shell + + # git branch + master + * test + +There are two options for pushing with the branch. First, + +.. code-block:: shell + + # git push origin test + +Will push the test branch to the personal repository. To delete the remote +branch + +.. code-block:: shell + + # git push origin :test + +You'll still need to delete your local branch if you are done with it. + +If you are going to work exclusively with one branch for a while, you might +want to configure git to automatically push that branch when you use git push. +By default git push will use the local master branch, but you can use the +`test` branch as the source of your changes: + +.. code-block:: shell + + # git config remote.origin.push test:master + +Now git push will merge into your master branch on your personal repository. +You can also setup a remote branch: + +.. code-block:: shell + + # git config remote.origin.push test:test + +You can see what branch is configured for pushing with + +.. code-block:: shell + + # git remote show origin + +And reset to the default + +.. code-block:: shell + + # git config remote.origin.push master + +Pull a Developer's Repo +----------------------- + +The procedures for creating personal repositories ensure that every developer +can post branches that anyone else can review. To pull a developer's personal +repository into your local RTEMS git clone, just add a new remote repo: + +.. code-block:: shell + + # git remote add devname git://dispatch.rtems.org/devname/rtems.git + # git fetch devname + # git remote show devname + # git branch -a + +Replace devname with the developer's user name on git, which you can see by +accessing https://git.rtems.org. Now you can switch to the branches +for this developer. + +Use a tracking branch if the developer's branch is changing: + +.. code-block:: shell + + # git branch --track new_feature devname/new_feature + +Committing +---------- + +Ticket Updates +~~~~~~~~~~~~~~ + +Our trac instance supports updating a related ticket with the commit message. + +Any references to a ticket for example #1234 will insert the message into +he ticket as an 'update'. No command is required. + +Closing a ticket can be done by prefixing the ticket number with any of the +following commands: + +``close``, ``closed``, ``closes``, ``fix``, ``fixed``, or ``fixes`` + +For example: + +``closes #1234`` + +``This is a random update it closes #1234 and updates #5678`` + +Commands +~~~~~~~~ + +When merging someone's work, whether your own or otherwise, we have some +suggested procedures to follow. + +* Never work in the master branch. Checkout a new branch and apply + patches/commits to it. +* Before pushing upstream: + - Update master by fetching from the server + - Rebase the working branch against the updated master + - Push the working branch to the server master + +The basic workflow looks like + +.. code-block:: shell + + # git checkout -b somebranch upstream/master + # patch .. git add/rm/etc + # git commit ... + # git pull --rebase upstream master + # git push upstream somebranch:master + +If someone pushed since you updated the server rejects your push until you +are up to date. + +For example a workflow where you will commit a series of patches from +``../patches/am/`` directory: + +.. code-block:: shell + + # git checkout -b am + # git am ../patches/am* + # git pull --rebase upstream master + # git push upstream am:master + # git checkout master + # git pull upstream master + # git log + # git branch -d am + # git push + +The git log stage will show your newly pushed patches if everything worked +properly, and you can delete the am branch created. The git push at the end +will push the changes up to your personal repository. + +Another way to do this which pushes directly to the upstream is shown here +in an example which simply (and quickly) applies a patch to the branch: + +.. code-block:: shell + + git checkout -b rtems4.10 --track remotes/upstream/4.10 + cat /tmp/sp.diff | patch + vi sparc.t + git add sparc.t + git commit -m "sparc.t: Correct for V8/V9" + git push upstream rtems4.10:4.10 + git checkout master + git log + git branch -d rtems4.10 + +Pushing Multiple Commits +------------------------ + +A push with more than one commit results in Trac missing them. Please use the +following script to push a single commit at a time: + +.. code-block:: shell + + #! /bin/sh + commits=$(git log --format='%h' origin/master..HEAD | tail -r) + for c in $commits + do + cmd=$(echo $c | sed 's%\(.*\)%git push origin \1:master%') + echo $cmd + $cmd + done + +Ooops! +------ + +So you pushed something upstream and broke the repository. First things first: +stop what you're doing and notify devel@... so that (1) you can get help and +(2) no one pulls from the broken repo. For an extended outage also notify +users@.... Now, breathe easy and let's figure out what happened. One thing +that might work is to just `undo the push +<https://stackoverflow.com/questions/1270514/undoing-a-git-push>`_. To get an +idea of what you did, run ``git reflog``, which might be useful for getting +assistance in undoing whatever badness was done. diff --git a/images/eng/Git-personalrepo.png b/images/eng/Git-personalrepo.png new file mode 100644 index 0000000000000000000000000000000000000000..751499a4fac6b4ea05a5ce226aec084c0c653196 GIT binary patch literal 24895 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 PMlxM3Bh6|Jr+@zslM*X3 literal 0 HcmV?d00001 -- 2.17.1 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel