diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2016-02-14 19:24:38 -0800 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2016-02-14 19:25:32 -0800 |
commit | f8bf1b35bf55ae1bb7703f86d3b526887f064b19 (patch) | |
tree | f3aa83dbb5900d9cf65cc24e5eb1aceff3411264 /admin | |
parent | f3aaca3552ba961d13cd1ee935c1c6b075f2398a (diff) | |
download | emacs-f8bf1b35bf55ae1bb7703f86d3b526887f064b19.tar.gz |
CONTRIBUTE cleanups and updates
* CONTRIBUTE: Mention URLs and info nodes more consistently,
avoiding possibly-confusing punctuation adjacent to a URL, and
giving full shell commands for 'info'. Start with a brief but
complete how-to, for people who want to get started right away.
Then briefly discuss how to join the development process in the
typical order. Omit needless words. Update some of the
now-obsolete file names, info node names, and quoting styles.
Better document emacs-NN branches and how they are merged.
* admin/notes/git-workflow: Change emacs-24 to emacs-25,
and trunk to master. This file still needs work.
Diffstat (limited to 'admin')
-rw-r--r-- | admin/notes/git-workflow | 36 |
1 files changed, 17 insertions, 19 deletions
diff --git a/admin/notes/git-workflow b/admin/notes/git-workflow index b6168c31bd5..2e4bbac70fe 100644 --- a/admin/notes/git-workflow +++ b/admin/notes/git-workflow @@ -19,17 +19,15 @@ Initial setup ============= Then we want to clone the repository. We normally want to have both -the current trunk and the emacs-24 branch. +the current master and the emacs-25 branch. mkdir ~/emacs cd ~/emacs -git clone <membername>@git.sv.gnu.org:/srv/git/emacs.git -mv emacs trunk -(cd trunk; git config push.default current) -./trunk/admin/git-new-workdir trunk emacs-24 -cd emacs-24 -git checkout emacs-24 -git config push.default current +git clone <membername>@git.sv.gnu.org:/srv/git/emacs.git master +(cd master; git config push.default current) +./master/admin/git-new-workdir master emacs-25 +cd emacs-25 +git checkout emacs-25 You now have both branches conveniently accessible, and you can do "git pull" in them once in a while to keep updated. @@ -59,13 +57,13 @@ you commit your change locally and then send a patch file as a bug report as described in ../../CONTRIBUTE. -Backporting to emacs-24 +Backporting to emacs-25 ======================= -If you have applied a fix to the trunk, but then decide that it should -be applied to the emacs-24 branch, too, then +If you have applied a fix to the master, but then decide that it should +be applied to the emacs-25 branch, too, then -cd ~/emacs/trunk +cd ~/emacs/master git log and find the commit you're looking for. Then find the commit ID, @@ -73,7 +71,7 @@ which will look like commit 958b768a6534ae6e77a8547a56fc31b46b63710b -cd ~/emacs/emacs-24 +cd ~/emacs/emacs-25 git cherry-pick -xe 958b768a6534ae6e77a8547a56fc31b46b63710b and add "Backport:" to the commit string. Then @@ -81,17 +79,17 @@ and add "Backport:" to the commit string. Then git push -Merging emacs-24 to trunk/master -================================ +Merging emacs-25 to the master +============================== It is recommended to use the file gitmerge.el in the admin directory -for merging 'emacs-24' into 'master'. It will take care of many +for merging 'emacs-25' into 'master'. It will take care of many things which would otherwise have to be done manually, like ignoring commits that should not land in master, fixing up ChangeLogs and automatically dealing with certain types of conflicts. If you really want to, you can do the merge manually, but then you're on your own. If you still choose to do that, make absolutely sure that you *always* -use the 'merge' command to transport commits from 'emacs-24' to +use the 'merge' command to transport commits from 'emacs-25' to 'master'. *Never* use 'cherry-pick'! If you don't know why, then you shouldn't manually do the merge in the first place; just use gitmerge.el instead. @@ -104,11 +102,11 @@ up-to-date by doing a pull. Then start Emacs with emacs -l admin/gitmerge.el -f gitmerge You'll be asked for the branch to merge, which will default to -'origin/emacs-24', which you should accept. Merging a local tracking +'origin/emacs-25', which you should accept. Merging a local tracking branch is discouraged, since it might not be up-to-date, or worse, contain commits from you which are not yet pushed upstream. -You will now see the list of commits from 'emacs-24' which are not yet +You will now see the list of commits from 'emacs-25' which are not yet merged to 'master'. You might also see commits that are already marked for "skipping", which means that they will be merged with a different merge strategy ('ours'), which will effectively ignore the |