From: Michael Haggerty <mhagger@alum.mit.edu>
To: git@vger.kernel.org
Cc: gitster@pobox.com, Johannes.Schindelin@gmx.de,
Michael Haggerty <mhagger@alum.mit.edu>
Subject: [PATCH 00/18] rebase -i: For pure fixups, do not start log message editor
Date: Thu, 14 Jan 2010 06:54:39 +0100 [thread overview]
Message-ID: <cover.1263447037.git.mhagger@alum.mit.edu> (raw)
This patch series is a successor to mh/rebase-fixup, which causes
"rebase -i" to skip opening the log message editor when processing a
block of "fixup" commands that does not include any "squash"es. The
idea was discussed on the mailing list [1] to general approval.
This patch series applies to "next", as it depends on earlier commits
in mh/rebase-fixup. With this patch series, I believe that this topic
is finished.
The first several commits are trivial fixups.
The three commits starting with "Document how temporary files are
used" attempt to document how the existing git-rebase--interactive.sh
script uses temporary files, as that information was not obvious. I
would appreciate feedback about whether I have inferred the uses
correctly.
Following are several refactorings leading to the main point of this
patch series, "For fixup commands without squashes, do not start
editor".
I also noticed a related (pre-existing) bug, namely that when there is
a conflict during the processing of a "squash" series, the user is
sometimes asked to edit an intermediate commit message. But after
later squashes are processed, the user's edited message is discarded.
The last two patches fix this problem--whenever the user has edited a
commit message, the resulting combined commit is treated (internally)
as a new starting point for further squash/fixups. As such, the
user-edited commit message is the first part of the suggested commit
message for the final squashed/fixedup commit.
Michael
[1] http://article.gmane.org/gmane.comp.version-control.git/134510
Michael Haggerty (18):
rebase -i: Make the condition for an "if" more transparent
rebase -i: Remove dead code
rebase -i: Inline expression
rebase -i: Use "test -n" instead of "test ! -z"
rebase -i: Use symbolic constant $MSG consistently
rebase -i: Document how temporary files are used
rebase -i: Introduce a constant AUTHOR_SCRIPT
rebase -i: Introduce a constant AMEND
t3404: Test the commit count in commit messages generated by "rebase
-i"
rebase -i: Improve consistency of commit count in generated commit
messages
rebase -i: Simplify commit counting for generated commit messages
rebase -i: Extract a function "commit_message"
rebase -i: Handle the author script all in one place in do_next
rebase -i: Extract function do_with_author
rebase -i: Change function make_squash_message into
update_squash_message
rebase -i: For fixup commands without squashes, do not start editor
t3404: Set up more of the test repo in the "setup" step
rebase -i: Retain user-edited commit messages after squash/fixup
conflicts
git-rebase--interactive.sh | 224 ++++++++++++++++++++++++++---------------
t/lib-rebase.sh | 6 +-
t/t3404-rebase-interactive.sh | 101 +++++++++++++------
3 files changed, 219 insertions(+), 112 deletions(-)
next reply other threads:[~2010-01-14 5:55 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-14 5:54 Michael Haggerty [this message]
2010-01-14 5:54 ` [PATCH 01/18] rebase -i: Make the condition for an "if" more transparent Michael Haggerty
2010-01-14 15:42 ` [PATCH 01/18] rebase -i: Make the condition for an "if" " Eric Blake
2010-01-14 17:42 ` Junio C Hamano
2010-01-15 7:20 ` Paolo Bonzini
2010-01-25 18:28 ` [PATCH 01/18] rebase -i: Make the condition for an "if" " Johannes Schindelin
2010-01-26 12:38 ` Michael Haggerty
2010-01-26 13:11 ` Johannes Schindelin
2010-01-14 5:54 ` [PATCH 02/18] rebase -i: Remove dead code Michael Haggerty
2010-01-14 5:54 ` [PATCH 03/18] rebase -i: Inline expression Michael Haggerty
2010-01-14 5:54 ` [PATCH 04/18] rebase -i: Use "test -n" instead of "test ! -z" Michael Haggerty
2010-01-14 5:54 ` [PATCH 05/18] rebase -i: Use symbolic constant $MSG consistently Michael Haggerty
2010-01-14 5:54 ` [PATCH 06/18] rebase -i: Document how temporary files are used Michael Haggerty
2010-01-25 3:38 ` Greg Price
2010-01-14 5:54 ` [PATCH 07/18] rebase -i: Introduce a constant AUTHOR_SCRIPT Michael Haggerty
2010-01-14 5:54 ` [PATCH 08/18] rebase -i: Introduce a constant AMEND Michael Haggerty
2010-01-14 5:54 ` [PATCH 09/18] t3404: Test the commit count in commit messages generated by "rebase -i" Michael Haggerty
2010-01-14 7:44 ` Johannes Sixt
2010-01-14 8:59 ` Michael Haggerty
2010-01-14 9:16 ` Johannes Sixt
2010-01-14 5:54 ` [PATCH 10/18] rebase -i: Improve consistency of commit count in generated commit messages Michael Haggerty
2010-01-14 7:54 ` Johannes Sixt
2010-01-14 9:05 ` Michael Haggerty
2010-01-14 5:54 ` [PATCH 11/18] rebase -i: Simplify commit counting for " Michael Haggerty
2010-01-14 5:54 ` [PATCH 12/18] rebase -i: Extract a function "commit_message" Michael Haggerty
2010-01-14 5:54 ` [PATCH 13/18] rebase -i: Handle the author script all in one place in do_next Michael Haggerty
2010-01-14 5:54 ` [PATCH 14/18] rebase -i: Extract function do_with_author Michael Haggerty
2010-01-14 5:54 ` [PATCH 15/18] rebase -i: Change function make_squash_message into update_squash_message Michael Haggerty
2010-01-14 8:20 ` Johannes Sixt
2010-01-14 5:54 ` [PATCH 16/18] rebase -i: For fixup commands without squashes, do not start editor Michael Haggerty
2010-01-14 5:54 ` [PATCH 17/18] t3404: Set up more of the test repo in the "setup" step Michael Haggerty
2010-01-14 5:54 ` [PATCH 18/18] rebase -i: Retain user-edited commit messages after squash/fixup conflicts Michael Haggerty
2010-01-14 9:17 ` [PATCH 00/18] rebase -i: For pure fixups, do not start log message editor Junio C Hamano
2010-01-25 18:38 ` Johannes Schindelin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1263447037.git.mhagger@alum.mit.edu \
--to=mhagger@alum.mit.edu \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).