aboutsummaryrefslogtreecommitdiffstats
path: root/admin
diff options
context:
space:
mode:
authorJohn Wiegley2016-02-15 14:11:03 -0800
committerJohn Wiegley2016-02-15 14:11:03 -0800
commit220613e089ec012ae4ab319637365132ce8dc306 (patch)
tree715595598dfd3d80ba7c4306a0ea8f010b320db4 /admin
parentca03b85b9c1b8908f2651eaf594780c7b5217f61 (diff)
parentd4b93e11a519cf71beca69654fda158d01a26c3b (diff)
downloademacs-220613e089ec012ae4ab319637365132ce8dc306.tar.gz
emacs-220613e089ec012ae4ab319637365132ce8dc306.zip
Merge from origin/emacs-25
d4b93e1 Minor fixes in global-auto-composition-mode 02b037b Allow arithmetic operators inside C++ template constructs. 44b16f6 Avoid crashes in semi-malformed 'condition-case' 652e5b4 Allow arithmetic operators inside C++ template constructs. d9ea795 Fix regression with 'recent-keys' and keyboard macros 903603f Fix wording in a doc-view.el comment cf79616 ; Spelling fixes f8bf1b3 CONTRIBUTE cleanups and updates f3aaca3 Port USE_STACK_LISP_OBJECTS fix to Clang 1834ac7 Port to x86 GCC 4.3.1 and earlier 8482949 Fix point movement under 'scroll-conservatively' c1313b5 Replace colon in file name (not legal on Windows) f7af26c Fix a typo in edt.texi 8badf95 Make 'mmap_realloc' on MS-Windows more reliable 856cd94 Grep alias `all' shall not match parent directory
Diffstat (limited to 'admin')
-rw-r--r--admin/notes/git-workflow36
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
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 trunk and the emacs-24 branch. 22the current master and the emacs-25 branch.
23 23
24mkdir ~/emacs 24mkdir ~/emacs
25cd ~/emacs 25cd ~/emacs
26git clone <membername>@git.sv.gnu.org:/srv/git/emacs.git 26git clone <membername>@git.sv.gnu.org:/srv/git/emacs.git master
27mv emacs trunk 27(cd master; git config push.default current)
28(cd trunk; git config push.default current) 28./master/admin/git-new-workdir master emacs-25
29./trunk/admin/git-new-workdir trunk emacs-24 29cd emacs-25
30cd emacs-24 30git checkout emacs-25
31git checkout emacs-24
32git config push.default current
33 31
34You now have both branches conveniently accessible, and you can do 32You now have both branches conveniently accessible, and you can do
35"git pull" in them once in a while to keep updated. 33"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
59as described in ../../CONTRIBUTE. 57as described in ../../CONTRIBUTE.
60 58
61 59
62Backporting to emacs-24 60Backporting to emacs-25
63======================= 61=======================
64 62
65If you have applied a fix to the trunk, but then decide that it should 63If you have applied a fix to the master, but then decide that it should
66be applied to the emacs-24 branch, too, then 64be applied to the emacs-25 branch, too, then
67 65
68cd ~/emacs/trunk 66cd ~/emacs/master
69git log 67git log
70 68
71and find the commit you're looking for. Then find the commit ID, 69and find the commit you're looking for. Then find the commit ID,
@@ -73,7 +71,7 @@ which will look like
73 71
74commit 958b768a6534ae6e77a8547a56fc31b46b63710b 72commit 958b768a6534ae6e77a8547a56fc31b46b63710b
75 73
76cd ~/emacs/emacs-24 74cd ~/emacs/emacs-25
77git cherry-pick -xe 958b768a6534ae6e77a8547a56fc31b46b63710b 75git cherry-pick -xe 958b768a6534ae6e77a8547a56fc31b46b63710b
78 76
79and add "Backport:" to the commit string. Then 77and add "Backport:" to the commit string. Then
@@ -81,17 +79,17 @@ and add "Backport:" to the commit string. Then
81git push 79git push
82 80
83 81
84Merging emacs-24 to trunk/master 82Merging emacs-25 to the master
85================================ 83==============================
86 84
87It 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
88for merging 'emacs-24' into 'master'. It will take care of many 86for merging 'emacs-25' into 'master'. It will take care of many
89things which would otherwise have to be done manually, like ignoring 87things which would otherwise have to be done manually, like ignoring
90commits that should not land in master, fixing up ChangeLogs and 88commits that should not land in master, fixing up ChangeLogs and
91automatically dealing with certain types of conflicts. If you really 89automatically dealing with certain types of conflicts. If you really
92want 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.
93If 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*
94use the 'merge' command to transport commits from 'emacs-24' to 92use the 'merge' command to transport commits from 'emacs-25' to
95'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
96shouldn't manually do the merge in the first place; just use 94shouldn't manually do the merge in the first place; just use
97gitmerge.el instead. 95gitmerge.el instead.
@@ -104,11 +102,11 @@ up-to-date by doing a pull. Then start Emacs with
104 emacs -l admin/gitmerge.el -f gitmerge 102 emacs -l admin/gitmerge.el -f gitmerge
105 103
106You'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
107'origin/emacs-24', which you should accept. Merging a local tracking 105'origin/emacs-25', which you should accept. Merging a local tracking
108branch 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,
109contain commits from you which are not yet pushed upstream. 107contain commits from you which are not yet pushed upstream.
110 108
111You will now see the list of commits from 'emacs-24' which are not yet 109You will now see the list of commits from 'emacs-25' which are not yet
112merged to 'master'. You might also see commits that are already 110merged to 'master'. You might also see commits that are already
113marked for "skipping", which means that they will be merged with a 111marked for "skipping", which means that they will be merged with a
114different merge strategy ('ours'), which will effectively ignore the 112different merge strategy ('ours'), which will effectively ignore the