aboutsummaryrefslogtreecommitdiffstats
path: root/admin/notes
diff options
context:
space:
mode:
authorStefan Kangas2021-01-31 03:40:01 +0100
committerStefan Kangas2021-01-31 03:40:21 +0100
commit0bc4b003d7493844d0f4aedb17cb1277bdf20533 (patch)
tree0c85c3812d4d7cc7b7d1080d0b7bb2259c107160 /admin/notes
parent9c7543417306752683faacd1436f9748a6f4f616 (diff)
downloademacs-0bc4b003d7493844d0f4aedb17cb1277bdf20533.tar.gz
emacs-0bc4b003d7493844d0f4aedb17cb1277bdf20533.zip
; emacs-26 → emacs-27
Diffstat (limited to 'admin/notes')
-rw-r--r--admin/notes/git-workflow20
1 files changed, 10 insertions, 10 deletions
diff --git a/admin/notes/git-workflow b/admin/notes/git-workflow
index 28b6f91a25d..143520c2c8c 100644
--- a/admin/notes/git-workflow
+++ b/admin/notes/git-workflow
@@ -15,14 +15,14 @@ Initial setup
15============= 15=============
16 16
17Then we want to clone the repository. We normally want to have both 17Then we want to clone the repository. We normally want to have both
18the current master and the emacs-26 branch. 18the current master and the emacs-27 branch.
19 19
20mkdir ~/emacs 20mkdir ~/emacs
21cd ~/emacs 21cd ~/emacs
22git clone <membername>@git.sv.gnu.org:/srv/git/emacs.git master 22git clone <membername>@git.sv.gnu.org:/srv/git/emacs.git master
23cd master 23cd master
24git config push.default current 24git config push.default current
25git worktree add ../emacs-26 emacs-26 25git worktree add ../emacs-27 emacs-27
26 26
27You now have both branches conveniently accessible, and you can do 27You now have both branches conveniently accessible, and you can do
28"git pull" in them once in a while to keep updated. 28"git pull" in them once in a while to keep updated.
@@ -52,11 +52,11 @@ you commit your change locally and then send a patch file as a bug report
52as described in ../../CONTRIBUTE. 52as described in ../../CONTRIBUTE.
53 53
54 54
55Backporting to emacs-26 55Backporting to emacs-27
56======================= 56=======================
57 57
58If you have applied a fix to the master, but then decide that it should 58If you have applied a fix to the master, but then decide that it should
59be applied to the emacs-26 branch, too, then 59be applied to the emacs-27 branch, too, then
60 60
61cd ~/emacs/master 61cd ~/emacs/master
62git log 62git log
@@ -66,7 +66,7 @@ which will look like
66 66
67commit 958b768a6534ae6e77a8547a56fc31b46b63710b 67commit 958b768a6534ae6e77a8547a56fc31b46b63710b
68 68
69cd ~/emacs/emacs-26 69cd ~/emacs/emacs-27
70git cherry-pick -xe 958b768a6534ae6e77a8547a56fc31b46b63710b 70git cherry-pick -xe 958b768a6534ae6e77a8547a56fc31b46b63710b
71 71
72and add "Backport:" to the commit string. Then 72and add "Backport:" to the commit string. Then
@@ -74,17 +74,17 @@ and add "Backport:" to the commit string. Then
74git push 74git push
75 75
76 76
77Merging emacs-26 to the master 77Merging emacs-27 to the master
78============================== 78==============================
79 79
80It is recommended to use the file gitmerge.el in the admin directory 80It is recommended to use the file gitmerge.el in the admin directory
81for merging 'emacs-26' into 'master'. It will take care of many 81for merging 'emacs-27' into 'master'. It will take care of many
82things which would otherwise have to be done manually, like ignoring 82things which would otherwise have to be done manually, like ignoring
83commits that should not land in master, fixing up ChangeLogs and 83commits that should not land in master, fixing up ChangeLogs and
84automatically dealing with certain types of conflicts. If you really 84automatically dealing with certain types of conflicts. If you really
85want to, you can do the merge manually, but then you're on your own. 85want to, you can do the merge manually, but then you're on your own.
86If you still choose to do that, make absolutely sure that you *always* 86If you still choose to do that, make absolutely sure that you *always*
87use the 'merge' command to transport commits from 'emacs-26' to 87use the 'merge' command to transport commits from 'emacs-27' to
88'master'. *Never* use 'cherry-pick'! If you don't know why, then you 88'master'. *Never* use 'cherry-pick'! If you don't know why, then you
89shouldn't manually do the merge in the first place; just use 89shouldn't manually do the merge in the first place; just use
90gitmerge.el instead. 90gitmerge.el instead.
@@ -97,11 +97,11 @@ up-to-date by doing a pull. Then start Emacs with
97 emacs -l admin/gitmerge.el -f gitmerge 97 emacs -l admin/gitmerge.el -f gitmerge
98 98
99You'll be asked for the branch to merge, which will default to 99You'll be asked for the branch to merge, which will default to
100'origin/emacs-26', which you should accept. Merging a local tracking 100'origin/emacs-27', which you should accept. Merging a local tracking
101branch is discouraged, since it might not be up-to-date, or worse, 101branch is discouraged, since it might not be up-to-date, or worse,
102contain commits from you which are not yet pushed upstream. 102contain commits from you which are not yet pushed upstream.
103 103
104You will now see the list of commits from 'emacs-26' which are not yet 104You will now see the list of commits from 'emacs-27' which are not yet
105merged to 'master'. You might also see commits that are already 105merged to 'master'. You might also see commits that are already
106marked for "skipping", which means that they will be merged with a 106marked for "skipping", which means that they will be merged with a
107different merge strategy ('ours'), which will effectively ignore the 107different merge strategy ('ours'), which will effectively ignore the