diff options
| author | Eric S. Raymond | 2014-10-31 11:06:47 +0200 |
|---|---|---|
| committer | Eli Zaretskii | 2014-10-31 11:06:47 +0200 |
| commit | 1ad9ad3bfe59e781ab7dd4b340c1dad9ef94d9ae (patch) | |
| tree | 3c8153c9ff4cc9471adf1a5bcc4632c7f1f14f97 /admin/notes | |
| parent | cac77f92e3861e81d5fe96b4b857fd9d243032e2 (diff) | |
| download | emacs-1ad9ad3bfe59e781ab7dd4b340c1dad9ef94d9ae.tar.gz emacs-1ad9ad3bfe59e781ab7dd4b340c1dad9ef94d9ae.zip | |
Backport from trunk more changes in preparation for git migration.
admin/notes/bzr: Renamed to notes/repo, reorganixed to separate
VCS-dependent from VCS-independent stuff. Added guidance about
commit-comment format under DVCSes.
admin/notes/BRANCH: Merged into notes/repo.
lisp/version.el: Fix some fallback values to conform to the actual
release number.
Diffstat (limited to 'admin/notes')
| -rw-r--r-- | admin/notes/repo | 72 |
1 files changed, 46 insertions, 26 deletions
diff --git a/admin/notes/repo b/admin/notes/repo index c398d3a4ae2..858674e6b87 100644 --- a/admin/notes/repo +++ b/admin/notes/repo | |||
| @@ -1,5 +1,23 @@ | |||
| 1 | NOTES ON COMMITTING TO EMACS'S REPOSITORY -*- outline -*- | 1 | NOTES ON COMMITTING TO EMACS'S REPOSITORY -*- outline -*- |
| 2 | 2 | ||
| 3 | * Use DVCS commenting conventions | ||
| 4 | |||
| 5 | Commits should follow the conventions used in all modern distributed | ||
| 6 | version-control systems. That is, they should consist of | ||
| 7 | |||
| 8 | - A self-contained topic line no more than 75 chars long. | ||
| 9 | |||
| 10 | - If other content follows the topic line, there should be | ||
| 11 | a blank line separating the two. | ||
| 12 | |||
| 13 | Try to keep your commits - and your commit comments - small. If | ||
| 14 | you feel an urge to put a bullet list in your commit comment, it's | ||
| 15 | doing too many things at once. | ||
| 16 | |||
| 17 | Yes, these directins are a departure from historical Emacs practice, | ||
| 18 | but it helps modern log-viewing and summary tools work better so that | ||
| 19 | other people can comprehend your code. | ||
| 20 | |||
| 3 | * Commit to the right branch | 21 | * Commit to the right branch |
| 4 | 22 | ||
| 5 | You can view the available Emacs branches at | 23 | You can view the available Emacs branches at |
| @@ -51,15 +69,6 @@ In that case, it's helpful if you can apply the change to both trunk | |||
| 51 | and branch yourself (when committing the branch change, indicate | 69 | and branch yourself (when committing the branch change, indicate |
| 52 | in the commit log that it should not be merged to the trunk; see below). | 70 | in the commit log that it should not be merged to the trunk; see below). |
| 53 | 71 | ||
| 54 | * Backporting a bug-fix from the trunk to a branch (e.g. "emacs-24"). | ||
| 55 | |||
| 56 | Indicate in the commit log that there is no need to merge the commit | ||
| 57 | to the trunk. Anything that matches `bzrmerge-skip-regexp' will do; | ||
| 58 | eg start the commit message with "Backport:". This is helpful for the | ||
| 59 | person merging the release branch to the trunk. | ||
| 60 | |||
| 61 | http://lists.gnu.org/archive/html/emacs-devel/2010-05/msg00262.html | ||
| 62 | |||
| 63 | * Installing changes from your personal branches. | 72 | * Installing changes from your personal branches. |
| 64 | 73 | ||
| 65 | If your branch has only a single commit, or many different real | 74 | If your branch has only a single commit, or many different real |
| @@ -98,6 +107,15 @@ variable in admin/merge-gnulib before running it. | |||
| 98 | If you remove a gnulib module, or if a gnulib module | 107 | If you remove a gnulib module, or if a gnulib module |
| 99 | removes a file, then remove the corresponding files by hand. | 108 | removes a file, then remove the corresponding files by hand. |
| 100 | 109 | ||
| 110 | * Backporting a bug-fix from the trunk to a branch (e.g. "emacs-24"). | ||
| 111 | |||
| 112 | Indicate in the commit log that there is no need to merge the commit | ||
| 113 | to the trunk. Anything that matches `bzrmerge-skip-regexp' will do; | ||
| 114 | eg start the commit message with "Backport:". This is helpful for the | ||
| 115 | person merging the release branch to the trunk. | ||
| 116 | |||
| 117 | http://lists.gnu.org/archive/html/emacs-devel/2010-05/msg00262.html | ||
| 118 | |||
| 101 | * How to merge changes from emacs-24 to trunk | 119 | * How to merge changes from emacs-24 to trunk |
| 102 | 120 | ||
| 103 | The following description uses bound branches, presumably it works in | 121 | The following description uses bound branches, presumably it works in |
| @@ -158,18 +176,6 @@ and is due to a technical limitation of bzr. The log data for those | |||
| 158 | revisions gets merged, the actual changes themselves do not. | 176 | revisions gets merged, the actual changes themselves do not. |
| 159 | http://lists.gnu.org/archive/html/emacs-devel/2011-01/msg00609.html ) | 177 | http://lists.gnu.org/archive/html/emacs-devel/2011-01/msg00609.html ) |
| 160 | 178 | ||
| 161 | In particular, check the ChangeLog entries (eg in case too many | ||
| 162 | entries have been included or whitespace between entries needs fixing). | ||
| 163 | bzrmerge tries to fix up the dates to today's date, but it only does | ||
| 164 | this where there are conflicts. If you used the changelog_merge plugin, | ||
| 165 | there won't be any conflicts, and (at time of writing) you will need | ||
| 166 | to adjust dates by hand. In any case, if someone made multiple | ||
| 167 | ChangeLog entries on different days in the branch, you may wish to | ||
| 168 | collapse them all to a single entry for that author in the trunk | ||
| 169 | (because in the trunk they all appear under the same date). | ||
| 170 | Obviously, if there are multiple changes to the same file by different | ||
| 171 | authors, don't break the logical ordering in doing this. | ||
| 172 | |||
| 173 | Notes: | 179 | Notes: |
| 174 | 180 | ||
| 175 | 1) If a file is modified in emacs-24, and deleted in the trunk, you | 181 | 1) If a file is modified in emacs-24, and deleted in the trunk, you |
| @@ -178,11 +184,25 @@ the trunk at all, use `bzr resolve path/to/file --take-this' to keep the | |||
| 178 | trunk version. Prior to bzr 2.2.3, this may fail. You can just | 184 | trunk version. Prior to bzr 2.2.3, this may fail. You can just |
| 179 | delete the .OTHER etc files by hand and use bzr resolve path/to/file. | 185 | delete the .OTHER etc files by hand and use bzr resolve path/to/file. |
| 180 | 186 | ||
| 181 | 2) Conflicts in autoload md5sums in comments. Strictly speaking, the | 187 | * Sanity-checking branch merges |
| 182 | right thing to do is merge everything else, resolve the conflict by | 188 | |
| 183 | choosing either the trunk or branch version, then run `make -C lisp | 189 | Inspect the ChangeLog entries (e.g. in case too many entries have been |
| 184 | autoloads' to update the md5sums to the correct trunk value before | 190 | included or whitespace between entries needs fixing). bzrmerge tries |
| 185 | committing. | 191 | to fix up the dates to today's date, but it only does this where there |
| 192 | are conflicts. If you used the changelog_merge plugin, there won't be | ||
| 193 | any conflicts, and (at time of writing) you will need to adjust dates | ||
| 194 | by hand. In any case, if someone made multiple ChangeLog entries on | ||
| 195 | different days in the branch, you may wish to collapse them all to a | ||
| 196 | single entry for that author in the trunk (because in the trunk they | ||
| 197 | all appear under the same date). Obviously, if there are multiple | ||
| 198 | changes to the same file by different authors, don't break the logical | ||
| 199 | ordering in doing this. | ||
| 200 | |||
| 201 | You may see conflicts in autoload md5sums in comments. Strictly | ||
| 202 | speaking, the right thing to do is merge everything else, resolve the | ||
| 203 | conflict by choosing either the trunk or branch version, then run | ||
| 204 | `make -C lisp autoloads' to update the md5sums to the correct trunk | ||
| 205 | value before committing. | ||
| 186 | 206 | ||
| 187 | * Re-adding a file that has been removed from the repository | 207 | * Re-adding a file that has been removed from the repository |
| 188 | 208 | ||