aboutsummaryrefslogtreecommitdiffstats
path: root/admin/notes
diff options
context:
space:
mode:
authorEric S. Raymond2014-10-31 11:06:47 +0200
committerEli Zaretskii2014-10-31 11:06:47 +0200
commit1ad9ad3bfe59e781ab7dd4b340c1dad9ef94d9ae (patch)
tree3c8153c9ff4cc9471adf1a5bcc4632c7f1f14f97 /admin/notes
parentcac77f92e3861e81d5fe96b4b857fd9d243032e2 (diff)
downloademacs-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/repo72
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 @@
1NOTES ON COMMITTING TO EMACS'S REPOSITORY -*- outline -*- 1NOTES ON COMMITTING TO EMACS'S REPOSITORY -*- outline -*-
2 2
3* Use DVCS commenting conventions
4
5Commits should follow the conventions used in all modern distributed
6version-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
13Try to keep your commits - and your commit comments - small. If
14you feel an urge to put a bullet list in your commit comment, it's
15doing too many things at once.
16
17Yes, these directins are a departure from historical Emacs practice,
18but it helps modern log-viewing and summary tools work better so that
19other people can comprehend your code.
20
3* Commit to the right branch 21* Commit to the right branch
4 22
5You can view the available Emacs branches at 23You 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
51and branch yourself (when committing the branch change, indicate 69and branch yourself (when committing the branch change, indicate
52in the commit log that it should not be merged to the trunk; see below). 70in 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
56Indicate in the commit log that there is no need to merge the commit
57to the trunk. Anything that matches `bzrmerge-skip-regexp' will do;
58eg start the commit message with "Backport:". This is helpful for the
59person merging the release branch to the trunk.
60
61http://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
65If your branch has only a single commit, or many different real 74If your branch has only a single commit, or many different real
@@ -98,6 +107,15 @@ variable in admin/merge-gnulib before running it.
98If you remove a gnulib module, or if a gnulib module 107If you remove a gnulib module, or if a gnulib module
99removes a file, then remove the corresponding files by hand. 108removes 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
112Indicate in the commit log that there is no need to merge the commit
113to the trunk. Anything that matches `bzrmerge-skip-regexp' will do;
114eg start the commit message with "Backport:". This is helpful for the
115person merging the release branch to the trunk.
116
117http://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
103The following description uses bound branches, presumably it works in 121The 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
158revisions gets merged, the actual changes themselves do not. 176revisions gets merged, the actual changes themselves do not.
159http://lists.gnu.org/archive/html/emacs-devel/2011-01/msg00609.html ) 177http://lists.gnu.org/archive/html/emacs-devel/2011-01/msg00609.html )
160 178
161In particular, check the ChangeLog entries (eg in case too many
162entries have been included or whitespace between entries needs fixing).
163bzrmerge tries to fix up the dates to today's date, but it only does
164this where there are conflicts. If you used the changelog_merge plugin,
165there won't be any conflicts, and (at time of writing) you will need
166to adjust dates by hand. In any case, if someone made multiple
167ChangeLog entries on different days in the branch, you may wish to
168collapse them all to a single entry for that author in the trunk
169(because in the trunk they all appear under the same date).
170Obviously, if there are multiple changes to the same file by different
171authors, don't break the logical ordering in doing this.
172
173Notes: 179Notes:
174 180
1751) If a file is modified in emacs-24, and deleted in the trunk, you 1811) 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
178trunk version. Prior to bzr 2.2.3, this may fail. You can just 184trunk version. Prior to bzr 2.2.3, this may fail. You can just
179delete the .OTHER etc files by hand and use bzr resolve path/to/file. 185delete the .OTHER etc files by hand and use bzr resolve path/to/file.
180 186
1812) Conflicts in autoload md5sums in comments. Strictly speaking, the 187* Sanity-checking branch merges
182right thing to do is merge everything else, resolve the conflict by 188
183choosing either the trunk or branch version, then run `make -C lisp 189Inspect the ChangeLog entries (e.g. in case too many entries have been
184autoloads' to update the md5sums to the correct trunk value before 190included or whitespace between entries needs fixing). bzrmerge tries
185committing. 191to fix up the dates to today's date, but it only does this where there
192are conflicts. If you used the changelog_merge plugin, there won't be
193any conflicts, and (at time of writing) you will need to adjust dates
194by hand. In any case, if someone made multiple ChangeLog entries on
195different days in the branch, you may wish to collapse them all to a
196single entry for that author in the trunk (because in the trunk they
197all appear under the same date). Obviously, if there are multiple
198changes to the same file by different authors, don't break the logical
199ordering in doing this.
200
201You may see conflicts in autoload md5sums in comments. Strictly
202speaking, the right thing to do is merge everything else, resolve the
203conflict by choosing either the trunk or branch version, then run
204`make -C lisp autoloads' to update the md5sums to the correct trunk
205value 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