From: "Marcel M. Cary" <marcel@oak.homeunix.org>
To: Michael J Gruber <git@drmicha.warpmail.net>
Cc: Sverre Rabbelier <srabbelier@gmail.com>,
Junio C Hamano <gitster@pobox.com>, Jeff King <peff@peff.net>,
Johannes Schindelin <Johannes.Schindelin@gmx.de>,
Olivier Goffart <ogoffart@kde.org>,
"git@vger.kernel.org" <git@vger.kernel.org>
Subject: Re: Ability to edit message from git rebase --interactive.
Date: Wed, 18 Mar 2009 07:52:07 -0700 [thread overview]
Message-ID: <49C10A97.6060201@oak.homeunix.org> (raw)
In-Reply-To: <49C0C4C5.5070802@drmicha.warpmail.net>
Michael J Gruber wrote:
> Sverre Rabbelier venit, vidit, dixit 18.03.2009 06:42:
>> Heya,
>>
>> On Wed, Mar 18, 2009 at 02:06, Junio C Hamano <gitster@pobox.com> wrote:
>>> Jeff King <peff@peff.net> writes:
>>> I am not quite sure what rephrase is buying us. Do we also want to
>>> introduce retree that allows you to muck with the tree object recorded
>>> without giving you a chance to clobber the commit log message?
>> Is that a common operation? Rephrase is, at least to me...
>>
>
> Rephrase for sure is common, and for sure can be done currently... It's
> only that "commit --amend, save&quit, continue" could be shortened.
>
> OTOH: Most commonly one would want to rephrase a commit message or two
> without actually rebasing anything. And the proposed change doesn't help
> as much as it could, in two respects:
>
> 1) I want to be able to say "rephrase HEAD~2" without having to edit a
> rebase action script. (That would be useful for rewriting a single
> commit as well, and could be added easily.)
>
> 2) Currently, all rebasing operations have trouble with merges. But if
> all I want to do is rephrasing a log message then no diff/apply is
> necessary, no rewriting of trees, no change in the DAG structure (i.e.
> connectivity; sha1s change, of course). So there should be a special
> mode for DAG-preserving rewrites, where one can be sure that merges are
> fully preserved.
>
> 2) seems to be the most important point to make rephrasing safe and
> convenient.
Interesting points about skipping the action script and preserving
structure. I just tried to do something like that with filter-branch:
git filter-branch --msg-filter 'cat > tmp; $EDITOR tmp < '$(tty)' >
'$(tty)' 2>&1; cat tmp' ^HEAD^ HEAD
And discovered that it will neither accept "HEAD^^..HEAD^" nor "HEAD^"
as a shortcut for a rev-list containing a single commit. But if you're
content to save and quit each message through the branch tip and specify
the range, it seems to work.
I have no idea what it would take to make filter-branch support the
additional kinds of rev and rev list specifications, or if that would be
undesirable.
I'm assuming it accomplishes (2) because of the nature of filter-branch.
Marcel
next prev parent reply other threads:[~2009-03-18 14:53 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-17 18:53 Ability to edit message from git rebase --interactive Olivier Goffart
2009-03-17 22:31 ` Johannes Schindelin
2009-03-18 0:40 ` Jeff King
2009-03-18 0:58 ` Johannes Schindelin
2009-03-18 1:06 ` Junio C Hamano
2009-03-18 5:42 ` Sverre Rabbelier
2009-03-18 9:54 ` Michael J Gruber
2009-03-18 14:52 ` Marcel M. Cary [this message]
2009-03-18 21:02 ` Marcel M. Cary
2009-04-10 12:17 ` Olivier Goffart
2009-04-10 12:37 ` Michael Witten
2009-04-10 12:41 ` Michael Witten
2009-04-10 18:21 ` Johannes Schindelin
2009-04-10 18:50 ` Michael Witten
2009-04-10 18:54 ` Sverre Rabbelier
2009-04-10 19:04 ` Michael Witten
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=49C10A97.6060201@oak.homeunix.org \
--to=marcel@oak.homeunix.org \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@drmicha.warpmail.net \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=ogoffart@kde.org \
--cc=peff@peff.net \
--cc=srabbelier@gmail.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).