aboutsummaryrefslogtreecommitdiffstats
path: root/admin/notes/git-workflow
diff options
context:
space:
mode:
authorPaul Eggert2017-09-25 08:56:07 -0700
committerPaul Eggert2017-09-25 11:12:11 -0700
commitc4e6ff097c946b46e3a659982c61e25093bde1a7 (patch)
treec5ab3504fd685de204ddbd64b7b53ace0ebf9fde /admin/notes/git-workflow
parentc7474fab180b57174edb3c949422e466100d605c (diff)
downloademacs-c4e6ff097c946b46e3a659982c61e25093bde1a7.tar.gz
emacs-c4e6ff097c946b46e3a659982c61e25093bde1a7.zip
emacs-25 → emacs-26
* admin/gitmerge.el (gitmerge-default-branch): Now emacs-26.
Diffstat (limited to 'admin/notes/git-workflow')
-rw-r--r--admin/notes/git-workflow24
1 files changed, 12 insertions, 12 deletions
diff --git a/admin/notes/git-workflow b/admin/notes/git-workflow
index 2e4bbac70fe..cb10638af82 100644
--- a/admin/notes/git-workflow
+++ b/admin/notes/git-workflow
@@ -19,15 +19,15 @@ Initial setup
19============= 19=============
20 20
21Then we want to clone the repository. We normally want to have both 21Then we want to clone the repository. We normally want to have both
22the current master and the emacs-25 branch. 22the current master and the emacs-26 branch.
23 23
24mkdir ~/emacs 24mkdir ~/emacs
25cd ~/emacs 25cd ~/emacs
26git clone <membername>@git.sv.gnu.org:/srv/git/emacs.git master 26git clone <membername>@git.sv.gnu.org:/srv/git/emacs.git master
27(cd master; git config push.default current) 27(cd master; git config push.default current)
28./master/admin/git-new-workdir master emacs-25 28./master/admin/git-new-workdir master emacs-26
29cd emacs-25 29cd emacs-26
30git checkout emacs-25 30git checkout emacs-26
31 31
32You now have both branches conveniently accessible, and you can do 32You now have both branches conveniently accessible, and you can do
33"git pull" in them once in a while to keep updated. 33"git pull" in them once in a while to keep updated.
@@ -57,11 +57,11 @@ you commit your change locally and then send a patch file as a bug report
57as described in ../../CONTRIBUTE. 57as described in ../../CONTRIBUTE.
58 58
59 59
60Backporting to emacs-25 60Backporting to emacs-26
61======================= 61=======================
62 62
63If you have applied a fix to the master, but then decide that it should 63If you have applied a fix to the master, but then decide that it should
64be applied to the emacs-25 branch, too, then 64be applied to the emacs-26 branch, too, then
65 65
66cd ~/emacs/master 66cd ~/emacs/master
67git log 67git log
@@ -71,7 +71,7 @@ which will look like
71 71
72commit 958b768a6534ae6e77a8547a56fc31b46b63710b 72commit 958b768a6534ae6e77a8547a56fc31b46b63710b
73 73
74cd ~/emacs/emacs-25 74cd ~/emacs/emacs-26
75git cherry-pick -xe 958b768a6534ae6e77a8547a56fc31b46b63710b 75git cherry-pick -xe 958b768a6534ae6e77a8547a56fc31b46b63710b
76 76
77and add "Backport:" to the commit string. Then 77and add "Backport:" to the commit string. Then
@@ -79,17 +79,17 @@ and add "Backport:" to the commit string. Then
79git push 79git push
80 80
81 81
82Merging emacs-25 to the master 82Merging emacs-26 to the master
83============================== 83==============================
84 84
85It is recommended to use the file gitmerge.el in the admin directory 85It is recommended to use the file gitmerge.el in the admin directory
86for merging 'emacs-25' into 'master'. It will take care of many 86for merging 'emacs-26' into 'master'. It will take care of many
87things which would otherwise have to be done manually, like ignoring 87things which would otherwise have to be done manually, like ignoring
88commits that should not land in master, fixing up ChangeLogs and 88commits that should not land in master, fixing up ChangeLogs and
89automatically dealing with certain types of conflicts. If you really 89automatically dealing with certain types of conflicts. If you really
90want to, you can do the merge manually, but then you're on your own. 90want to, you can do the merge manually, but then you're on your own.
91If you still choose to do that, make absolutely sure that you *always* 91If you still choose to do that, make absolutely sure that you *always*
92use the 'merge' command to transport commits from 'emacs-25' to 92use the 'merge' command to transport commits from 'emacs-26' to
93'master'. *Never* use 'cherry-pick'! If you don't know why, then you 93'master'. *Never* use 'cherry-pick'! If you don't know why, then you
94shouldn't manually do the merge in the first place; just use 94shouldn't manually do the merge in the first place; just use
95gitmerge.el instead. 95gitmerge.el instead.
@@ -102,11 +102,11 @@ up-to-date by doing a pull. Then start Emacs with
102 emacs -l admin/gitmerge.el -f gitmerge 102 emacs -l admin/gitmerge.el -f gitmerge
103 103
104You'll be asked for the branch to merge, which will default to 104You'll be asked for the branch to merge, which will default to
105'origin/emacs-25', which you should accept. Merging a local tracking 105'origin/emacs-26', which you should accept. Merging a local tracking
106branch is discouraged, since it might not be up-to-date, or worse, 106branch is discouraged, since it might not be up-to-date, or worse,
107contain commits from you which are not yet pushed upstream. 107contain commits from you which are not yet pushed upstream.
108 108
109You will now see the list of commits from 'emacs-25' which are not yet 109You will now see the list of commits from 'emacs-26' which are not yet
110merged to 'master'. You might also see commits that are already 110merged to 'master'. You might also see commits that are already
111marked for "skipping", which means that they will be merged with a 111marked for "skipping", which means that they will be merged with a
112different merge strategy ('ours'), which will effectively ignore the 112different merge strategy ('ours'), which will effectively ignore the