From 1ad9ad3bfe59e781ab7dd4b340c1dad9ef94d9ae Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Fri, 31 Oct 2014 11:06:47 +0200 Subject: [PATCH] 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. --- admin/ChangeLog | 8 ++++++ admin/notes/repo | 72 +++++++++++++++++++++++++++++++----------------- lisp/ChangeLog | 3 ++ lisp/version.el | 4 +-- 4 files changed, 59 insertions(+), 28 deletions(-) diff --git a/admin/ChangeLog b/admin/ChangeLog index 7f91c78be99..954574e7264 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog @@ -1,3 +1,11 @@ +2014-10-31 Eric S. Raymond + + * notes/bzr: Renamed to notes/repo, reorganixed to separate + VCS-dependent from VCS-independent stuff. Added guidance about + commit-comment format under DVCSes. + + * notes/BRANCH: Merged into notes/repo. + 2014-10-20 Glenn Morris * Version 24.4 released. 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 @@ NOTES ON COMMITTING TO EMACS'S REPOSITORY -*- outline -*- +* Use DVCS commenting conventions + +Commits should follow the conventions used in all modern distributed +version-control systems. That is, they should consist of + +- A self-contained topic line no more than 75 chars long. + +- If other content follows the topic line, there should be + a blank line separating the two. + +Try to keep your commits - and your commit comments - small. If +you feel an urge to put a bullet list in your commit comment, it's +doing too many things at once. + +Yes, these directins are a departure from historical Emacs practice, +but it helps modern log-viewing and summary tools work better so that +other people can comprehend your code. + * Commit to the right branch 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 and branch yourself (when committing the branch change, indicate in the commit log that it should not be merged to the trunk; see below). -* Backporting a bug-fix from the trunk to a branch (e.g. "emacs-24"). - -Indicate in the commit log that there is no need to merge the commit -to the trunk. Anything that matches `bzrmerge-skip-regexp' will do; -eg start the commit message with "Backport:". This is helpful for the -person merging the release branch to the trunk. - -http://lists.gnu.org/archive/html/emacs-devel/2010-05/msg00262.html - * Installing changes from your personal branches. If your branch has only a single commit, or many different real @@ -98,6 +107,15 @@ variable in admin/merge-gnulib before running it. If you remove a gnulib module, or if a gnulib module removes a file, then remove the corresponding files by hand. +* Backporting a bug-fix from the trunk to a branch (e.g. "emacs-24"). + +Indicate in the commit log that there is no need to merge the commit +to the trunk. Anything that matches `bzrmerge-skip-regexp' will do; +eg start the commit message with "Backport:". This is helpful for the +person merging the release branch to the trunk. + +http://lists.gnu.org/archive/html/emacs-devel/2010-05/msg00262.html + * How to merge changes from emacs-24 to trunk 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 revisions gets merged, the actual changes themselves do not. http://lists.gnu.org/archive/html/emacs-devel/2011-01/msg00609.html ) -In particular, check the ChangeLog entries (eg in case too many -entries have been included or whitespace between entries needs fixing). -bzrmerge tries to fix up the dates to today's date, but it only does -this where there are conflicts. If you used the changelog_merge plugin, -there won't be any conflicts, and (at time of writing) you will need -to adjust dates by hand. In any case, if someone made multiple -ChangeLog entries on different days in the branch, you may wish to -collapse them all to a single entry for that author in the trunk -(because in the trunk they all appear under the same date). -Obviously, if there are multiple changes to the same file by different -authors, don't break the logical ordering in doing this. - Notes: 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 trunk version. Prior to bzr 2.2.3, this may fail. You can just delete the .OTHER etc files by hand and use bzr resolve path/to/file. -2) Conflicts in autoload md5sums in comments. Strictly speaking, the -right thing to do is merge everything else, resolve the conflict by -choosing either the trunk or branch version, then run `make -C lisp -autoloads' to update the md5sums to the correct trunk value before -committing. +* Sanity-checking branch merges + +Inspect the ChangeLog entries (e.g. in case too many entries have been +included or whitespace between entries needs fixing). bzrmerge tries +to fix up the dates to today's date, but it only does this where there +are conflicts. If you used the changelog_merge plugin, there won't be +any conflicts, and (at time of writing) you will need to adjust dates +by hand. In any case, if someone made multiple ChangeLog entries on +different days in the branch, you may wish to collapse them all to a +single entry for that author in the trunk (because in the trunk they +all appear under the same date). Obviously, if there are multiple +changes to the same file by different authors, don't break the logical +ordering in doing this. + +You may see conflicts in autoload md5sums in comments. Strictly +speaking, the right thing to do is merge everything else, resolve the +conflict by choosing either the trunk or branch version, then run +`make -C lisp autoloads' to update the md5sums to the correct trunk +value before committing. * Re-adding a file that has been removed from the repository diff --git a/lisp/ChangeLog b/lisp/ChangeLog index d0bdb2a1dc9..daba07c3c9e 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2014-10-31 Eric S. Raymond + * version.el: Fix some fallback values to conform to the actual + release number. + * Makefile.in: Change some production names so they're neutral about the repository type. diff --git a/lisp/version.el b/lisp/version.el index 68b502ce451..c3a36ecc21e 100644 --- a/lisp/version.el +++ b/lisp/version.el @@ -91,7 +91,7 @@ Value is nil if Emacs was not built from a repository checkout, or if we could not determine the revision.") (define-obsolete-variable-alias 'emacs-bzr-version - 'emacs-repository-version "24.4") + 'emacs-repository-version "25.1") (defun emacs-bzr-version-dirstate (dir) "Try to return as a string the bzr revision ID of directory DIR. @@ -129,7 +129,7 @@ Returns nil if unable to find this information." (buffer-string)))) (define-obsolete-function-alias 'emacs-bzr-get-version - 'emacs-repository-get-version "24.4") + 'emacs-repository-get-version "25.1") (defun emacs-repository-get-version (&optional dir external) "Try to return as a string the repository revision of the Emacs sources. -- 2.39.5