update gerrit list
[openafs-wiki.git] / devel / Backporting.mdwn
index f2f17f1..9754e3f 100644 (file)
@@ -3,7 +3,7 @@ Backporting changes for OpenAFS
 
 This page describes the procedure for contributing code changes to the OpenAFS
 stable release series. Generally, only security fixes, bug fixes, and
-non-distributive features are accepted on stable branches.
+non-disruptive features are accepted on stable branches.
 
 Contributions to the OpenAFS code base are generally first targeted to the git
 `master` branch, which is considered the in-progress development branch. These
@@ -14,7 +14,7 @@ reduce the chance of losing important changes between the branches.
 
 OpenAFS contributions are submitted to and reviewed on the [gerrit][1] review
 system.  See [[GitDevelopers]] for information on submitting changes to gerrit.
-Note that unlike most git based projects, OpenAFS developers have a adopted a
+Note that unlike most git based projects, OpenAFS developers have adopted a
 linear commit history. Merge commits are generally avoided, and developers
 generally run git rebase frequently before submitting changes to gerrit.
 
@@ -22,7 +22,7 @@ generally run git rebase frequently before submitting changes to gerrit.
 Master branch inclusion
 -----------------------
 
-Generally, before changes are accepted on a stable branch only after they have
+Generally, changes are accepted on a stable branch only after they have
 been merged onto the master branch.  Follow the instructions on
 [[GitDevelopers]] for information on how to submit changes to the master
 branch.
@@ -40,7 +40,7 @@ the same order in which they were merged onto the master branch.
 
 When cherry-picking commits, be sure to use the `-x` option so git will include
 the commit number in the new commit message, and use the `-e` option to open an
-editor during the cherry-pick to remove the gerrit id of the master branch
+editor during the cherry-pick to remove the Change-ID of the master branch
 commit.
 
 Example:
@@ -49,9 +49,13 @@ Example:
     git checkout origin/openafs-stable-1_8_x
     git cherry-pick -e -x origin/master~<number>
 
+Alternatively, you can run `git commit --amend` immediately after each
+cherry-pick to remove rhe Change-ID.
+
 In the event the cherry-pick fails, due to code skew between the branches,
-it may be necessary to manually fix the merge conflict and run `git check-pick --continue`
-to complete the cherry pick.
+it may be necessary to manually fix the merge conflict and run `git cherry-pick --continue`
+to complete the cherry pick. In this case, the `(cherry picked from commit...)`
+line will be missing and has to be added manually using `git commit --amend`.
 
 After building and testing, the commit can be submitted to gerrit for the
 stable branch.
@@ -76,7 +80,8 @@ Example:
 
 In the event the cherry-pick fails, due to code skew between the branches,
 it may be necessary to manually fix the merge conflict and run `git check-pick --continue`
-to complete the cherry pick.
+to complete the cherry pick. In this case, the `(cherry picked from commit...)`
+line will be missing and has to be added manually using `git commit --amend`.
 
 After building and testing, the commit can be submitted to gerrit for the
 old stable branch.
@@ -85,5 +90,16 @@ Example:
 
     git push gerrit HEAD:refs/for/openafs-stable-1_6_x
 
+Avoiding Path Conflicts
+-----------------------
+
+Due to the way gerrit is configured, it may claim that one of your commits has a "Merge conflict" if it modifies any file that also has changes in other gerrits under review for that branch.  That's even true if the changes are completely independent, and a cherry-pick does not flag any conflicts.
+
+Before submitting, check the other open gerrits for that branch for modifications to the same files you are modifying.  If you find any, please base your change on top of those open changes before submission.
+
+Alternatively, help get the "conflicting" change merged (or abandoned) before pushing your commit.
+
+Your efforts in avoiding "Merge conflicts" in this way will make the life of the release manager/guardian/gatekeeper in charge of your change significantly easier.  Thank you!
+
 
 [1]: https://gerrit.openafs.org/