aboutsummaryrefslogtreecommitdiffstats
path: root/admin/notes
diff options
context:
space:
mode:
Diffstat (limited to 'admin/notes')
-rw-r--r--admin/notes/bzr36
1 files changed, 13 insertions, 23 deletions
diff --git a/admin/notes/bzr b/admin/notes/bzr
index a3a125cd675..a1ef8f64133 100644
--- a/admin/notes/bzr
+++ b/admin/notes/bzr
@@ -3,9 +3,9 @@ NOTES ON COMMITTING TO EMACS'S BAZAAR REPO -*- outline -*-
3* Install changes only on one branch, let them get merged elsewhere if needed. 3* Install changes only on one branch, let them get merged elsewhere if needed.
4In particular, install bug-fixes only on the release branch (if there 4In particular, install bug-fixes only on the release branch (if there
5is one) and let them get synced to the trunk; do not install them by 5is one) and let them get synced to the trunk; do not install them by
6hand on the trunk as well. E.g. if there is an active "emacs-23" branch 6hand on the trunk as well. E.g. if there is an active "emacs-24" branch
7and you have a bug-fix appropriate for the next Emacs-23.x release, 7and you have a bug-fix appropriate for the next emacs-24.x release,
8install it only on the emacs-23 branch, not on the trunk as well. 8install it only on the emacs-24 branch, not on the trunk as well.
9 9
10Installing things manually into more than one branch makes merges more 10Installing things manually into more than one branch makes merges more
11difficult. 11difficult.
@@ -18,7 +18,7 @@ In that case, it's helpful if you can apply the change to both trunk
18and branch yourself (when committing the branch change, indicate 18and branch yourself (when committing the branch change, indicate
19in the commit log that it should not be merged to the trunk; see below). 19in the commit log that it should not be merged to the trunk; see below).
20 20
21* Backporting a bug-fix from the trunk to a branch (e.g. "emacs-23"). 21* Backporting a bug-fix from the trunk to a branch (e.g. "emacs-24").
22Indicate in the commit log that there is no need to merge the commit 22Indicate in the commit log that there is no need to merge the commit
23to the trunk. Anything that matches `bzrmerge-skip-regexp' will do; 23to the trunk. Anything that matches `bzrmerge-skip-regexp' will do;
24eg start the commit message with "Backport:". This is helpful for the 24eg start the commit message with "Backport:". This is helpful for the
@@ -49,7 +49,7 @@ http://lists.gnu.org/archive/html/emacs-devel/2010-04/msg00086.html
49* Installing changes from gnulib 49* Installing changes from gnulib
50Some of the files in Emacs are copied from gnulib. To synchronize 50Some of the files in Emacs are copied from gnulib. To synchronize
51these files from the version of gnulib that you have checked out into 51these files from the version of gnulib that you have checked out into
52a sibling directory of your branch, type "make sync-from-gnulib"; this 52a sibling directory of your branch, type "admin/merge-gnulib"; this
53will check out the latest version of gnulib if there is no sibling 53will check out the latest version of gnulib if there is no sibling
54directory already. It is a good idea to run "bzr status" afterwards, 54directory already. It is a good idea to run "bzr status" afterwards,
55so that if a gnulib module added a file, you can record the new file 55so that if a gnulib module added a file, you can record the new file
@@ -57,17 +57,12 @@ using "bzr add". After synchronizing from gnulib, do a "make" in the
57usual way. 57usual way.
58 58
59To change the set of gnulib modules, change the GNULIB_MODULES 59To change the set of gnulib modules, change the GNULIB_MODULES
60variable in the top-level Makefile.in, and then run: 60variable in admin/merge-gnulib before running it.
61 61
62 ./config.status 62If you remove a gnulib module, or if a gnulib module
63 make sync-from-gnulib
64 bzr status
65
66The last command will mention files that may need to be added using
67"bzr add". If you remove a gnulib module, or if a gnulib module
68removes a file, then remove the corresponding files by hand. 63removes a file, then remove the corresponding files by hand.
69 64
70* How to merge changes from emacs-23 to trunk 65* How to merge changes from emacs-24 to trunk
71 66
72The following description uses bound branches, presumably it works in 67The following description uses bound branches, presumably it works in
73a similar way with unbound ones. 68a similar way with unbound ones.
@@ -90,7 +85,7 @@ copy in ~/.bazaar if you upgrade bzr.
90Maybe the default Emacs behavior without this plugin is better, 85Maybe the default Emacs behavior without this plugin is better,
91though, it's not clear yet. 86though, it's not clear yet.
92 87
931) Get clean, up-to-date copies of the emacs-23 and trunk branches. 881) Get clean, up-to-date copies of the emacs-24 and trunk branches.
94Check for any uncommitted changes with bzr status. 89Check for any uncommitted changes with bzr status.
95 90
962) M-x cd /path/to/trunk 912) M-x cd /path/to/trunk
@@ -102,7 +97,7 @@ changelog_merge_files = ChangeLog
102 97
1033) load admin/bzrmerge.el 983) load admin/bzrmerge.el
104 99
1054) M-x bzrmerge RET /path/to/emacs-23 RET 1004) M-x bzrmerge RET /path/to/emacs-24 RET
106 101
107It will prompt about revisions that should be skipped, based on the 102It will prompt about revisions that should be skipped, based on the
108regexp in bzrmerge-missing. If there are more revisions that you know 103regexp in bzrmerge-missing. If there are more revisions that you know
@@ -119,7 +114,7 @@ Do not commit (or exit Emacs) until you have run bzrmerge to completion.
119 114
120Before committing, check bzr status and bzr diff output. 115Before committing, check bzr status and bzr diff output.
121If you have run bzrmerge enough times, the "pending merge tip" in bzr 116If you have run bzrmerge enough times, the "pending merge tip" in bzr
122status should be the last revision from the emacs-23 branch, and 117status should be the last revision from the emacs-24 branch, and
123bzr status -v should show all the revisions you expect to merge. 118bzr status -v should show all the revisions you expect to merge.
124 119
125(Note that it will also show "skipped" revisions. This is expected, 120(Note that it will also show "skipped" revisions. This is expected,
@@ -141,18 +136,13 @@ authors, don't break the logical ordering in doing this.
141 136
142Notes: 137Notes:
143 138
1441) A lot that was in tramp.el in emacs-23 has moved to tramp-sh.el in 1391) If a file is modified in emacs-24, and deleted in the trunk, you
145the trunk. If you end up with a conflict in tramp.el, the changes may
146need to go to tramp-sh.el instead. Remember to update the file name in
147the ChangeLog.
148
1492) If a file is modified in emacs-23, and deleted in the trunk, you
150get a "contents conflict". Assuming the changes don't need to be in 140get a "contents conflict". Assuming the changes don't need to be in
151the trunk at all, use `bzr resolve path/to/file --take-this' to keep the 141the trunk at all, use `bzr resolve path/to/file --take-this' to keep the
152trunk version. Prior to bzr 2.2.3, this may fail. You can just 142trunk version. Prior to bzr 2.2.3, this may fail. You can just
153delete the .OTHER etc files by hand and use bzr resolve path/to/file. 143delete the .OTHER etc files by hand and use bzr resolve path/to/file.
154 144
1553) Conflicts in autoload md5sums in comments. Strictly speaking, the 1452) Conflicts in autoload md5sums in comments. Strictly speaking, the
156right thing to do is merge everything else, resolve the conflict by 146right thing to do is merge everything else, resolve the conflict by
157choosing either the trunk or branch version, then run `make -C lisp 147choosing either the trunk or branch version, then run `make -C lisp
158autoloads' to update the md5sums to the correct trunk value before 148autoloads' to update the md5sums to the correct trunk value before