diff options
Diffstat (limited to 'admin/notes')
| -rw-r--r-- | admin/notes/bzr | 36 |
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. |
| 4 | In particular, install bug-fixes only on the release branch (if there | 4 | In particular, install bug-fixes only on the release branch (if there |
| 5 | is one) and let them get synced to the trunk; do not install them by | 5 | is one) and let them get synced to the trunk; do not install them by |
| 6 | hand on the trunk as well. E.g. if there is an active "emacs-23" branch | 6 | hand on the trunk as well. E.g. if there is an active "emacs-24" branch |
| 7 | and you have a bug-fix appropriate for the next Emacs-23.x release, | 7 | and you have a bug-fix appropriate for the next emacs-24.x release, |
| 8 | install it only on the emacs-23 branch, not on the trunk as well. | 8 | install it only on the emacs-24 branch, not on the trunk as well. |
| 9 | 9 | ||
| 10 | Installing things manually into more than one branch makes merges more | 10 | Installing things manually into more than one branch makes merges more |
| 11 | difficult. | 11 | difficult. |
| @@ -18,7 +18,7 @@ In that case, it's helpful if you can apply the change to both trunk | |||
| 18 | and branch yourself (when committing the branch change, indicate | 18 | and branch yourself (when committing the branch change, indicate |
| 19 | in the commit log that it should not be merged to the trunk; see below). | 19 | in 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"). |
| 22 | Indicate in the commit log that there is no need to merge the commit | 22 | Indicate in the commit log that there is no need to merge the commit |
| 23 | to the trunk. Anything that matches `bzrmerge-skip-regexp' will do; | 23 | to the trunk. Anything that matches `bzrmerge-skip-regexp' will do; |
| 24 | eg start the commit message with "Backport:". This is helpful for the | 24 | eg 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 |
| 50 | Some of the files in Emacs are copied from gnulib. To synchronize | 50 | Some of the files in Emacs are copied from gnulib. To synchronize |
| 51 | these files from the version of gnulib that you have checked out into | 51 | these files from the version of gnulib that you have checked out into |
| 52 | a sibling directory of your branch, type "make sync-from-gnulib"; this | 52 | a sibling directory of your branch, type "admin/merge-gnulib"; this |
| 53 | will check out the latest version of gnulib if there is no sibling | 53 | will check out the latest version of gnulib if there is no sibling |
| 54 | directory already. It is a good idea to run "bzr status" afterwards, | 54 | directory already. It is a good idea to run "bzr status" afterwards, |
| 55 | so that if a gnulib module added a file, you can record the new file | 55 | so 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 | |||
| 57 | usual way. | 57 | usual way. |
| 58 | 58 | ||
| 59 | To change the set of gnulib modules, change the GNULIB_MODULES | 59 | To change the set of gnulib modules, change the GNULIB_MODULES |
| 60 | variable in the top-level Makefile.in, and then run: | 60 | variable in admin/merge-gnulib before running it. |
| 61 | 61 | ||
| 62 | ./config.status | 62 | If you remove a gnulib module, or if a gnulib module |
| 63 | make sync-from-gnulib | ||
| 64 | bzr status | ||
| 65 | |||
| 66 | The 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 | ||
| 68 | removes a file, then remove the corresponding files by hand. | 63 | removes 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 | ||
| 72 | The following description uses bound branches, presumably it works in | 67 | The following description uses bound branches, presumably it works in |
| 73 | a similar way with unbound ones. | 68 | a similar way with unbound ones. |
| @@ -90,7 +85,7 @@ copy in ~/.bazaar if you upgrade bzr. | |||
| 90 | Maybe the default Emacs behavior without this plugin is better, | 85 | Maybe the default Emacs behavior without this plugin is better, |
| 91 | though, it's not clear yet. | 86 | though, it's not clear yet. |
| 92 | 87 | ||
| 93 | 1) Get clean, up-to-date copies of the emacs-23 and trunk branches. | 88 | 1) Get clean, up-to-date copies of the emacs-24 and trunk branches. |
| 94 | Check for any uncommitted changes with bzr status. | 89 | Check for any uncommitted changes with bzr status. |
| 95 | 90 | ||
| 96 | 2) M-x cd /path/to/trunk | 91 | 2) M-x cd /path/to/trunk |
| @@ -102,7 +97,7 @@ changelog_merge_files = ChangeLog | |||
| 102 | 97 | ||
| 103 | 3) load admin/bzrmerge.el | 98 | 3) load admin/bzrmerge.el |
| 104 | 99 | ||
| 105 | 4) M-x bzrmerge RET /path/to/emacs-23 RET | 100 | 4) M-x bzrmerge RET /path/to/emacs-24 RET |
| 106 | 101 | ||
| 107 | It will prompt about revisions that should be skipped, based on the | 102 | It will prompt about revisions that should be skipped, based on the |
| 108 | regexp in bzrmerge-missing. If there are more revisions that you know | 103 | regexp 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 | ||
| 120 | Before committing, check bzr status and bzr diff output. | 115 | Before committing, check bzr status and bzr diff output. |
| 121 | If you have run bzrmerge enough times, the "pending merge tip" in bzr | 116 | If you have run bzrmerge enough times, the "pending merge tip" in bzr |
| 122 | status should be the last revision from the emacs-23 branch, and | 117 | status should be the last revision from the emacs-24 branch, and |
| 123 | bzr status -v should show all the revisions you expect to merge. | 118 | bzr 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 | ||
| 142 | Notes: | 137 | Notes: |
| 143 | 138 | ||
| 144 | 1) A lot that was in tramp.el in emacs-23 has moved to tramp-sh.el in | 139 | 1) If a file is modified in emacs-24, and deleted in the trunk, you |
| 145 | the trunk. If you end up with a conflict in tramp.el, the changes may | ||
| 146 | need to go to tramp-sh.el instead. Remember to update the file name in | ||
| 147 | the ChangeLog. | ||
| 148 | |||
| 149 | 2) If a file is modified in emacs-23, and deleted in the trunk, you | ||
| 150 | get a "contents conflict". Assuming the changes don't need to be in | 140 | get a "contents conflict". Assuming the changes don't need to be in |
| 151 | the trunk at all, use `bzr resolve path/to/file --take-this' to keep the | 141 | the trunk at all, use `bzr resolve path/to/file --take-this' to keep the |
| 152 | trunk version. Prior to bzr 2.2.3, this may fail. You can just | 142 | trunk version. Prior to bzr 2.2.3, this may fail. You can just |
| 153 | delete the .OTHER etc files by hand and use bzr resolve path/to/file. | 143 | delete the .OTHER etc files by hand and use bzr resolve path/to/file. |
| 154 | 144 | ||
| 155 | 3) Conflicts in autoload md5sums in comments. Strictly speaking, the | 145 | 2) Conflicts in autoload md5sums in comments. Strictly speaking, the |
| 156 | right thing to do is merge everything else, resolve the conflict by | 146 | right thing to do is merge everything else, resolve the conflict by |
| 157 | choosing either the trunk or branch version, then run `make -C lisp | 147 | choosing either the trunk or branch version, then run `make -C lisp |
| 158 | autoloads' to update the md5sums to the correct trunk value before | 148 | autoloads' to update the md5sums to the correct trunk value before |