commit ae0653b5ab9ee223751ec389b87011963e1cbbef (HEAD, refs/remotes/origin/master) Author: Xue Fuqiao Date: Sun Nov 15 10:05:17 2015 +0800 * CONTRIBUTE: Remove information about feature freeze. diff --git a/CONTRIBUTE b/CONTRIBUTE index 2d826e2..2d01724 100644 --- a/CONTRIBUTE +++ b/CONTRIBUTE @@ -177,13 +177,6 @@ before possibly being merged to the trunk. Development is discussed on the emacs-devel mailing list. -Sometime before the release of a new major version of Emacs a "feature -freeze" is imposed on the trunk, to prepare for creating a release -branch. No new features may be added to the trunk after this point, -until the release branch is created. Announcements about the freeze -(and other important events) are made on the emacs-devel mailing -list under the "emacs-announce" topic, and not anywhere else. - The trunk branch is named "master" in git; release branches are named "emacs-nn" where "nn" is the major version. commit 9459456b50dc8dec071dd0106ecbf4c42291057e Merge: dcd5877 9a4aa0f Author: Xue Fuqiao Date: Sun Nov 15 09:52:05 2015 +0800 Merge branch 'release-process-lowercase' ; Rename admin/FOR-RELEASE to admin/release-process and document the ; release process commit 9a4aa0f5945a03611ae29c516025dbd353bd26ab Author: Xue Fuqiao Date: Sun Nov 15 09:35:50 2015 +0800 Document the release process * admin/notes/versioning: Add information about RC releases. * admin/release-process: Document the release process. * admin/authors.el (authors-ignored-files): * admin/README: Change FOR-RELEASE to release-process. * CONTRIBUTE: * admin/notes/bugtracker: Don't mention FOR-RELEASE. diff --git a/CONTRIBUTE b/CONTRIBUTE index 0ca5d0d..d3d632d 100644 --- a/CONTRIBUTE +++ b/CONTRIBUTE @@ -144,10 +144,10 @@ messages: "2014-01-16T05:43:35Z!esr@thyrsus.com". Often, "my previous commit" will suffice. -- There is no need to mention files such as NEWS, MAINTAINERS, and - FOR-RELEASE, or to indicate regeneration of files such as - 'configure', in the ChangeLog entry. "There is no need" means you - don't have to, but you can if you want to. +- There is no need to mention files such as NEWS and MAINTAINERS, or + to indicate regeneration of files such as 'configure', in the + ChangeLog entry. "There is no need" means you don't have to, but + you can if you want to. ** Generating ChangeLog entries diff --git a/admin/README b/admin/README index 2286e35..b7621ff 100644 --- a/admin/README +++ b/admin/README @@ -12,9 +12,9 @@ what you do when using them. * Instructions and scripts used to prepare an Emacs release. -** FOR-RELEASE +** release-process -Living list of activities that must be completed before the next release. +The release process used by GNU Emacs. ** make-tarball.txt diff --git a/admin/authors.el b/admin/authors.el index 3d7850a..9903218 100644 --- a/admin/authors.el +++ b/admin/authors.el @@ -267,7 +267,7 @@ Changes to files matching one of the regexps in this list are not listed.") '("external-lisp" "lock" "share-lib" "local-lisp" "noleim-Makefile.in" - "NEWS" "ORDERS" "PROBLEMS" "FAQ" "AUTHORS" "FOR-RELEASE" "TODO" "todo" + "NEWS" "ORDERS" "PROBLEMS" "FAQ" "AUTHORS" "release-process" "TODO" "todo" "MACHINES" "SERVICE" "README.unicode" "README.multi-tty" "TUTORIAL.translators" "NEWS.unicode" "COPYING.DJ" "Makefile.old" "Makefile.am" diff --git a/admin/notes/bugtracker b/admin/notes/bugtracker index fb65bbe..3d6df03 100644 --- a/admin/notes/bugtracker +++ b/admin/notes/bugtracker @@ -140,8 +140,7 @@ you can add an element to gnus-posting-styles to do this automatically, eg: ** To record a bug in the tracker without sending mail to the bug list. This can be useful to make a note of something discussed on -emacs-devel that needs fixing. In other words, this can be the -equivalent of adding something to FOR-RELEASE. +emacs-devel that needs fixing. To: quiet@debbugs.gnu.org [headers end] diff --git a/admin/notes/versioning b/admin/notes/versioning index e422b22..ef11335 100644 --- a/admin/notes/versioning +++ b/admin/notes/versioning @@ -9,16 +9,20 @@ Emacs version numbers have the form "build" increments each time Emacs is built in the same location (without cleaning) and isn't really part of the version. -bugfix releases increase "minor" by 1. -non-bugfix releases increase "major" by 1, and reset "minor" to 1. +Bugfix releases increase "minor" by 1. +Non-bugfix releases increase "major" by 1, and reset "minor" to 1. (The division between bugfix and non-bugfix has not always been clear historically.) Unreleased (development) versions have an extra "devel" component. This is a fairly meaningless number that may be unchanged for a long time. It is normally 50. -When the release process starts, it changes to 90, 91, ... -When the actual release is made, this component is removed. + +After we cut the release branch, we’ll make pretest and release +candidate (RC) releases. For pretest releases, the "devel" component +changes to 90, 91, ... When the first RC release is made, this +component is removed. Normally, there is one RC release, unless an +unexpected last-minute problem occurs. The development version for a new major release has "minor" = 0. The development version for a new minor release has "minor" = that of diff --git a/admin/release-process b/admin/release-process index 286b90e..4a0890f 100644 --- a/admin/release-process +++ b/admin/release-process @@ -1,7 +1,51 @@ -Tasks needed before the next release. +This document describes the release process used by GNU Emacs. + +* RELEASE CYCLE + +Each release cycle will be split into two periods. + +** Phase one: development + +The first phase of the release schedule is the "heads-down" working +period for new features, on the `master' branch and several feature +branches. + +** Phase two: bugfixes + +Shortly before this phase, Emacs developers will be devoted to +figuring out what features to include in the next release and what +features to defer to a later release. + +At the beginning of this phase, a release branch called "emacs-NN" +("NN" represents the major version number of the new Emacs release) +will be cut from `master'. + +This phase is spent fixing bugs and eliminating undocumented new +features on the "emacs-NN" branch. + +In parallel to this phase, `master' can receive new features, to be +released in the next release cycle. From time to time, the master +branches merges bugfix commits from the "emacs-NN" branch. + +* RELEASE-CRITICAL BUGS + +Emacs uses the "blocking bug(s)" feature of Debbugs for bugs need to +be addressed in the next release. + +Currently, bug#19759 is the tracking bug for release of 25.1. Say +bug#123 needs to be fixed for Emacs 25.1. Send a message to +control@debbugs.gnu.org that says: + + block 19759 by 123 + +Change "block" to "unblock" to unblock the bug. * TO BE DONE SHORTLY BEFORE RELEASE +** Make sure the Copyright date reflects the current year in the source +files. See `admin/notes/years' for information about maintaining +copyright years for GNU Emacs. + ** Make sure the necessary sources and scripts for any generated files are included in the source tarfile. (They don't need to be installed, so eg admin/ is fine.) @@ -275,6 +319,13 @@ tips.texi variables.texi windows.texi +* OTHER INFORMATION + +For Emacs's versioning scheme, see `admin/notes/versioning'. + +For instructions to create pretest or release tarballs, announcements, +etc., see `admin/make-tarball.txt'. + Local variables: mode: outline commit f8cc14b59700e51a4e31139c0a65c8154995e055 Author: Xue Fuqiao Date: Sun Nov 15 09:32:12 2015 +0800 * admin/release-process: Rename from admin/FOR-RELEASE. diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE deleted file mode 100644 index 6ecec89..0000000 --- a/admin/FOR-RELEASE +++ /dev/null @@ -1,282 +0,0 @@ -Tasks needed before the next release. - -* TO BE DONE SHORTLY BEFORE RELEASE - -** Make sure the necessary sources and scripts for any generated files -are included in the source tarfile. (They don't need to be installed, -so eg admin/ is fine.) - -** Manuals -Check for node names using problematic characters: - find doc -name '*.texi' -exec grep '^@node[^,]*[:.()]' {} + -Sadly makeinfo does not warn about such characters. - -Check for major new features added since the last release (e.g. new -lisp files), and add the relevant authors to the Acknowledgments in -doc/emacs/ack.texi and emacs.texi. - -Check cross-references between the manuals (eg from emacs to elisp) -are correct. You can use something like the following in the info -directory in the Emacs build tree: - -emacs -Q --eval "(progn (require 'info) (setq Info-directory-list '(\".\")))" \ - -f info-xref-check-all - -Setting Info-directory-list avoids having system info pages confuse -things. References to external manuals will be flagged as -uncheckable. You should still check these, and also that each -external manual has an appropriate redirect in the file manual/.htaccess -in the web pages repository. E.g.: -Redirect /software/emacs/manual/html_mono/automake.html /software/automake/manual/automake.html -Redirect /software/emacs/manual/html_node/automake/ /software/automake/manual/html_node/ - -Another tool you can use to check links is gnu.org's linc.py: -http://www.gnu.org/server/source/ - -You run this something like: - -cd /path/to/cvs/emacs-www -linc.py -o /path/to/output-dir --url http://www.gnu.org/software/emacs/ . - -Be warned that it is really, really slow (as in, can take ~ a full day -to check the manual/ directory). It is probably best to run it on a -single directory at a time from eg manual/html_node. It is very -inefficient, but may reveal a few things that info-xref does not. - - -make emacs.dvi, elisp.dvi, and deal with any errors (undefined -references etc) in the output. Break any overfull lines. -Underfull hboxes are not serious, but it can be nice to get rid of -them if a simple rephrasing or rearrangement will work. - -Update the master menu and detailed menu (eg the antinews version). -The command texinfo-multiple-files-update can do this, but you -probably want to apply the results selectively (eg the current master -menu has better line-breaks than the automatic version). It includes -the menu-entry name (if there is one) as well as the node name - using -only the latter looks better. Also, it doesn't seem to handle nested -includes, so will miss edebug.texi etc. - -Check for widow and orphan lines in the printed manual; make sure all -the pages really look ok in the manual as formatted. Orphans/widows -are cases where the first/last line of a paragraph is on its own at -the end/start of a page, or where the last word in a paragraph is on -its own at the start of a line. It looks better if you reword/respace -things to avoid these. (AFAIK, there is no way to find these except -paging through the whole manual.) This should be the very last thing -you do, since any change can alter the layout. -(Actually, there is probably little point in trying to do this. -It's only really relevant if printed versions of the manuals are going -to be published. End-users are not likely to print out all 1000+ -pages of the manuals, and even if they do, the resulting page breaks -depend on what paper and font size they use. This also means that if -you _are_ going to do this, it should be done with the paper and font -size that the GNU Press are going to use when they print the manuals. -I think this is different to what you get if you just use eg 'make -emacs.pdf' (e.g., enable "smallbook"). - -** Check the keybindings in the refcards are correct, and add any new ones. -What paper size are the English versions supposed to be on? -On Debian testing, the packages texlive-lang-czechslovak and -texlive-lang-polish will let you generate the cs-* and sk-* pdfs. -(You may need texlive-lang-cyrillic, texlive-lang-german for others.) -The Makefile rules did not work for me, I had to use something like: -csplain -output-format=pdf cs-refcard - -** Ask maintainers of refcard translations to update them. - -Emacs 22 translators: - -LANG Translator Status -cs Pavel Janík -de Sven Joachim -fr Eric Jacoboni -pl Włodek Bzyl -pt-br Rodrigo Real -ru Alex Ott -sk Miroslav Vaško - -** For a major release, add a "New in Emacs XX" section to faq.texi. - -** Remove temporary +++/--- lines in NEWS. - -** Try to reorder NEWS: most important things first, related items together. - -** Consider bumping customize-changed-options-previous-release. - -** cusver-check from admin.el can help find new defcustoms missing -:version tags. - -** Add a line to etc/HISTORY for the release version number and date. - -* BUGS - -** Check for modes which bind M-s that conflicts with a new global binding M-s -and change key bindings where necessary. The current list of modes: - -1. Gnus binds 'M-s' to 'gnus-summary-search-article-forward'. - -2. Minibuffer binds 'M-s' to 'next-matching-history-element' - (not useful any more since C-s can now search in the history). - -3. 'center-line' in Text mode was already moved to the text formatting - keymap as 'M-o M-s' (thus this binding is not necessary any more - in 'nroff-mode-map' too and can be removed now from the nroff mode - because it can now use the global key binding 'M-o M-s' 'center-line'). - -4. PCL-CVS binds 'M-s' to 'cvs-status', and log-edit-mode binds it to - 'log-edit-comment-search-forward'. Perhaps search commands - on the global key binding 'M-s' are useless in these modes. - -5. Rmail binds '\es' to 'rmail-search'/'rmail-summary-search'. - - -* DOCUMENTATION - -** Check the Emacs Tutorial. - -The first line of every tutorial must begin with text ending in a -period (".", ASCII 0x2E) saying "Emacs Tutorial" in the respective -language. This should be followed by "See end for copying conditions", -likewise in the respective language. - -After each file name, on the same line or the following line, come the -names of the people who have checked it. - -SECTION READERS ----------------------------------- -TUTORIAL cyd -TUTORIAL.bg ogi -TUTORIAL.cn xfq -TUTORIAL.cs -TUTORIAL.de wl -TUTORIAL.eo -TUTORIAL.es -TUTORIAL.fr -TUTORIAL.he eliz -TUTORIAL.it -TUTORIAL.ja -TUTORIAL.ko -TUTORIAL.nl Pieter Schoenmakers -TUTORIAL.pl -TUTORIAL.pt_BR -TUTORIAL.ro -TUTORIAL.ru Alex Ott -TUTORIAL.sk -TUTORIAL.sl Primoz PETERLIN -TUTORIAL.sv Mats Lidell -TUTORIAL.th -TUTORIAL.zh - -** Check the manual. - -abbrevs.texi -ack.texi -anti.texi -arevert-xtra.texi -basic.texi -buffers.texi -building.texi -calendar.texi -cal-xtra.texi -cmdargs.texi -commands.texi -custom.texi -dired.texi -dired-xtra.texi -display.texi -emacs.texi -emacs-xtra.texi -emerge-xtra.texi -entering.texi -files.texi -fixit.texi -fortran-xtra.texi -frames.texi -glossary.texi -help.texi -indent.texi -killing.texi -kmacro.texi -macos.texi -maintaining.texi -mark.texi -mini.texi -misc.texi -modes.texi -msdos.texi -msdos-xtra.texi -mule.texi -m-x.texi -package.texi -picture-xtra.texi -programs.texi -regs.texi -rmail.texi -screen.texi -search.texi -sending.texi -text.texi -trouble.texi -vc-xtra.texi -vc1-xtra.texi -windows.texi -xresources.texi - -** Check the Lisp manual. - -abbrevs.texi -anti.texi -back.texi -backups.texi -buffers.texi -commands.texi -compile.texi -control.texi -customize.texi -debugging.texi -display.texi -edebug.texi -elisp.texi -errors.texi -eval.texi -files.texi -frames.texi -functions.texi -hash.texi -help.texi -hooks.texi -index.texi -internals.texi -intro.texi -keymaps.texi -lists.texi -loading.texi -macros.texi -maps.texi -markers.texi -minibuf.texi -modes.texi -nonascii.texi -numbers.texi Paul Eggert (24.4) -objects.texi -os.texi -package.texi -positions.texi -processes.texi -searching.texi -sequences.texi -streams.texi -strings.texi -symbols.texi -syntax.texi -text.texi -tips.texi -variables.texi -windows.texi - - -Local variables: -mode: outline -coding: utf-8 -end: diff --git a/admin/release-process b/admin/release-process new file mode 100644 index 0000000..286b90e --- /dev/null +++ b/admin/release-process @@ -0,0 +1,282 @@ +Tasks needed before the next release. + +* TO BE DONE SHORTLY BEFORE RELEASE + +** Make sure the necessary sources and scripts for any generated files +are included in the source tarfile. (They don't need to be installed, +so eg admin/ is fine.) + +** Manuals +Check for node names using problematic characters: + find doc -name '*.texi' -exec grep '^@node[^,]*[:.()]' {} + +Sadly makeinfo does not warn about such characters. + +Check for major new features added since the last release (e.g. new +lisp files), and add the relevant authors to the Acknowledgments in +doc/emacs/ack.texi and emacs.texi. + +Check cross-references between the manuals (eg from emacs to elisp) +are correct. You can use something like the following in the info +directory in the Emacs build tree: + +emacs -Q --eval "(progn (require 'info) (setq Info-directory-list '(\".\")))" \ + -f info-xref-check-all + +Setting Info-directory-list avoids having system info pages confuse +things. References to external manuals will be flagged as +uncheckable. You should still check these, and also that each +external manual has an appropriate redirect in the file manual/.htaccess +in the web pages repository. E.g.: +Redirect /software/emacs/manual/html_mono/automake.html /software/automake/manual/automake.html +Redirect /software/emacs/manual/html_node/automake/ /software/automake/manual/html_node/ + +Another tool you can use to check links is gnu.org's linc.py: +http://www.gnu.org/server/source/ + +You run this something like: + +cd /path/to/cvs/emacs-www +linc.py -o /path/to/output-dir --url http://www.gnu.org/software/emacs/ . + +Be warned that it is really, really slow (as in, can take ~ a full day +to check the manual/ directory). It is probably best to run it on a +single directory at a time from eg manual/html_node. It is very +inefficient, but may reveal a few things that info-xref does not. + + +make emacs.dvi, elisp.dvi, and deal with any errors (undefined +references etc) in the output. Break any overfull lines. +Underfull hboxes are not serious, but it can be nice to get rid of +them if a simple rephrasing or rearrangement will work. + +Update the master menu and detailed menu (eg the antinews version). +The command texinfo-multiple-files-update can do this, but you +probably want to apply the results selectively (eg the current master +menu has better line-breaks than the automatic version). It includes +the menu-entry name (if there is one) as well as the node name - using +only the latter looks better. Also, it doesn't seem to handle nested +includes, so will miss edebug.texi etc. + +Check for widow and orphan lines in the printed manual; make sure all +the pages really look ok in the manual as formatted. Orphans/widows +are cases where the first/last line of a paragraph is on its own at +the end/start of a page, or where the last word in a paragraph is on +its own at the start of a line. It looks better if you reword/respace +things to avoid these. (AFAIK, there is no way to find these except +paging through the whole manual.) This should be the very last thing +you do, since any change can alter the layout. +(Actually, there is probably little point in trying to do this. +It's only really relevant if printed versions of the manuals are going +to be published. End-users are not likely to print out all 1000+ +pages of the manuals, and even if they do, the resulting page breaks +depend on what paper and font size they use. This also means that if +you _are_ going to do this, it should be done with the paper and font +size that the GNU Press are going to use when they print the manuals. +I think this is different to what you get if you just use eg 'make +emacs.pdf' (e.g., enable "smallbook"). + +** Check the keybindings in the refcards are correct, and add any new ones. +What paper size are the English versions supposed to be on? +On Debian testing, the packages texlive-lang-czechslovak and +texlive-lang-polish will let you generate the cs-* and sk-* pdfs. +(You may need texlive-lang-cyrillic, texlive-lang-german for others.) +The Makefile rules did not work for me, I had to use something like: +csplain -output-format=pdf cs-refcard + +** Ask maintainers of refcard translations to update them. + +Emacs 22 translators: + +LANG Translator Status +cs Pavel Janík +de Sven Joachim +fr Eric Jacoboni +pl Włodek Bzyl +pt-br Rodrigo Real +ru Alex Ott +sk Miroslav Vaško + +** For a major release, add a "New in Emacs XX" section to faq.texi. + +** Remove temporary +++/--- lines in NEWS. + +** Try to reorder NEWS: most important things first, related items together. + +** Consider bumping customize-changed-options-previous-release. + +** cusver-check from admin.el can help find new defcustoms missing +:version tags. + +** Add a line to etc/HISTORY for the release version number and date. + +* BUGS + +** Check for modes which bind M-s that conflicts with a new global binding M-s +and change key bindings where necessary. The current list of modes: + +1. Gnus binds 'M-s' to 'gnus-summary-search-article-forward'. + +2. Minibuffer binds 'M-s' to 'next-matching-history-element' + (not useful any more since C-s can now search in the history). + +3. 'center-line' in Text mode was already moved to the text formatting + keymap as 'M-o M-s' (thus this binding is not necessary any more + in 'nroff-mode-map' too and can be removed now from the nroff mode + because it can now use the global key binding 'M-o M-s' 'center-line'). + +4. PCL-CVS binds 'M-s' to 'cvs-status', and log-edit-mode binds it to + 'log-edit-comment-search-forward'. Perhaps search commands + on the global key binding 'M-s' are useless in these modes. + +5. Rmail binds '\es' to 'rmail-search'/'rmail-summary-search'. + + +* DOCUMENTATION + +** Check the Emacs Tutorial. + +The first line of every tutorial must begin with text ending in a +period (".", ASCII 0x2E) saying "Emacs Tutorial" in the respective +language. This should be followed by "See end for copying conditions", +likewise in the respective language. + +After each file name, on the same line or the following line, come the +names of the people who have checked it. + +SECTION READERS +---------------------------------- +TUTORIAL cyd +TUTORIAL.bg ogi +TUTORIAL.cn xfq +TUTORIAL.cs +TUTORIAL.de wl +TUTORIAL.eo +TUTORIAL.es +TUTORIAL.fr +TUTORIAL.he eliz +TUTORIAL.it +TUTORIAL.ja +TUTORIAL.ko +TUTORIAL.nl Pieter Schoenmakers +TUTORIAL.pl +TUTORIAL.pt_BR +TUTORIAL.ro +TUTORIAL.ru Alex Ott +TUTORIAL.sk +TUTORIAL.sl Primoz PETERLIN +TUTORIAL.sv Mats Lidell +TUTORIAL.th +TUTORIAL.zh + +** Check the manual. + +abbrevs.texi +ack.texi +anti.texi +arevert-xtra.texi +basic.texi +buffers.texi +building.texi +calendar.texi +cal-xtra.texi +cmdargs.texi +commands.texi +custom.texi +dired.texi +dired-xtra.texi +display.texi +emacs.texi +emacs-xtra.texi +emerge-xtra.texi +entering.texi +files.texi +fixit.texi +fortran-xtra.texi +frames.texi +glossary.texi +help.texi +indent.texi +killing.texi +kmacro.texi +macos.texi +maintaining.texi +mark.texi +mini.texi +misc.texi +modes.texi +msdos.texi +msdos-xtra.texi +mule.texi +m-x.texi +package.texi +picture-xtra.texi +programs.texi +regs.texi +rmail.texi +screen.texi +search.texi +sending.texi +text.texi +trouble.texi +vc-xtra.texi +vc1-xtra.texi +windows.texi +xresources.texi + +** Check the Lisp manual. + +abbrevs.texi +anti.texi +back.texi +backups.texi +buffers.texi +commands.texi +compile.texi +control.texi +customize.texi +debugging.texi +display.texi +edebug.texi +elisp.texi +errors.texi +eval.texi +files.texi +frames.texi +functions.texi +hash.texi +help.texi +hooks.texi +index.texi +internals.texi +intro.texi +keymaps.texi +lists.texi +loading.texi +macros.texi +maps.texi +markers.texi +minibuf.texi +modes.texi +nonascii.texi +numbers.texi Paul Eggert (24.4) +objects.texi +os.texi +package.texi +positions.texi +processes.texi +searching.texi +sequences.texi +streams.texi +strings.texi +symbols.texi +syntax.texi +text.texi +tips.texi +variables.texi +windows.texi + + +Local variables: +mode: outline +coding: utf-8 +end: commit dcd5877a76557f4ce08bebee0d8919ad951a9f13 Author: David Engster Date: Sat Nov 14 23:14:36 2015 +0100 gitmerge: Fix git log command * admin/gitmerge.el (gitmerge-missing): Use '--left-only' since we only want commits from the branch that is to be merged. (gitmerge-setup-log-buffer): Use the same symmetric range as in `gitmerge-missing'. diff --git a/admin/gitmerge.el b/admin/gitmerge.el index 4197ac3..1e92c8c 100644 --- a/admin/gitmerge.el +++ b/admin/gitmerge.el @@ -183,7 +183,7 @@ if and why this commit should be skipped." ;; Go through the log and remember all commits that match ;; `gitmerge-skip-regexp' or are marked by --cherry-mark. (with-temp-buffer - (call-process "git" nil t nil "log" "--cherry-mark" + (call-process "git" nil t nil "log" "--cherry-mark" "--left-only" (concat from "..." (car (vc-git-branches)))) (goto-char (point-max)) (while (re-search-backward "^commit \\(.+\\) \\([0-9a-f]+\\).*" nil t) @@ -206,9 +206,9 @@ if and why this commit should be skipped." "Create the buffer for choosing commits." (with-current-buffer (get-buffer-create gitmerge-buffer) (erase-buffer) - (call-process "git" nil t nil "log" + (call-process "git" nil t nil "log" "--left-only" "--pretty=format:%h %<(20,trunc) %an: %<(100,trunc) %s" - from (concat "^" (car (vc-git-branches)))) + (concat from "..." (car (vc-git-branches)))) (goto-char (point-min)) (while (looking-at "^\\([a-f0-9]+\\)") (let ((skipreason (gitmerge-skip-commit-p (match-string 1) commits))) commit 2ac79ae901422384e8d093e079862e57c72ef2dc Author: David Engster Date: Sat Nov 14 17:53:10 2015 +0100 gitmerge: Try to detect cherry-picks * admin/gitmerge.el (gitmerge-default-branch): Change to origin/emacs-25. (gitmerge-missing): Use symmetric difference ('...') between branch and master so that cherry-picks can be detected. diff --git a/admin/gitmerge.el b/admin/gitmerge.el index c8cf2dc..4197ac3 100644 --- a/admin/gitmerge.el +++ b/admin/gitmerge.el @@ -65,7 +65,7 @@ Auto-commit" '((t (:strike-through t))) "Face for skipped commits.") -(defconst gitmerge-default-branch "origin/emacs-24" +(defconst gitmerge-default-branch "origin/emacs-25" "Default for branch that should be merged.") (defconst gitmerge-buffer "*gitmerge*" @@ -183,8 +183,8 @@ if and why this commit should be skipped." ;; Go through the log and remember all commits that match ;; `gitmerge-skip-regexp' or are marked by --cherry-mark. (with-temp-buffer - (call-process "git" nil t nil "log" "--cherry-mark" from - (concat "^" (car (vc-git-branches)))) + (call-process "git" nil t nil "log" "--cherry-mark" + (concat from "..." (car (vc-git-branches)))) (goto-char (point-max)) (while (re-search-backward "^commit \\(.+\\) \\([0-9a-f]+\\).*" nil t) (let ((cherrymark (match-string 1))