All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Haggerty <mhagger@alum.mit.edu>
To: Nanako Shiraishi <nanako3@lavabit.com>
Cc: Junio C Hamano <gitster@pobox.com>,
	John Tapsell <johnflux@gmail.com>,
	git@vger.kernel.org
Subject: Re: [PATCH] rebase -i: auto-squash commits
Date: Thu, 18 Jun 2009 09:20:11 +0200	[thread overview]
Message-ID: <4A39EAAB.70402@alum.mit.edu> (raw)
In-Reply-To: <20090618063348.6117@nanako3.lavabit.com>

Nanako Shiraishi wrote:
> When the commit log message begins with "squash to ...", and there
> is a commit whose title begins with the same ..., automatically
> modify the todo list of rebase -i so that the commit marked for
> squashing come right after the commit to be modified, and change
> the action of the moved commit from pick to squash.

It seems to me that even this requires more steps than strictly
necessary, namely a commit then a rebase, and conveying the information
from the commit step to the rebase step is somewhat awkward.  Since I
have to specify a magic commit message to trigger this behavior, I
obviously know at the time of the commit that I want to squash the new
changes onto an older commit.  So why not implement this functionality
as a variant of "commit"?  Something like:

git commit --fix=old-commit

which would commit the changes in index as an amendment to the specified
old-commit (requiring no new log message) and then rebase later commits
on top of the new (combined) commit.

If a conflict arises while applying the changes in index to old-commit,
then probably the whole process should be undone and aborted.  If a
conflict arises while rebasing later commits on top of the combined
commit, then the usual rebase conflict-handling machinery would be invoked.

Michael

  parent reply	other threads:[~2009-06-18  7:20 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-17 12:06 git rebase --interactive squash/squish/fold/rollup Minty
2009-06-17 12:55 ` John Tapsell
2009-06-17 13:45   ` Minty
2009-06-17 16:33   ` Junio C Hamano
2009-06-17 16:40     ` John Tapsell
2009-06-17 16:48     ` Paolo Bonzini
2009-06-17 17:05     ` John Koleszar
2009-06-17 20:50       ` John Tapsell
2009-06-17 18:20     ` Clemens Buchacher
2009-06-18 22:31       ` Minty
2009-06-17 21:33     ` [PATCH] rebase -i: auto-squash commits Nanako Shiraishi
2009-06-17 22:08       ` Johannes Schindelin
2009-06-18  0:11         ` [PATCH] " Nicolas Sebrecht
2009-06-18  5:07           ` Junio C Hamano
2009-06-18  8:06             ` Johannes Schindelin
2009-06-18  8:11               ` Jakub Narebski
2009-06-18  8:21                 ` Junio C Hamano
2009-06-18  8:26                   ` Johannes Schindelin
2009-06-18  8:17               ` Teemu Likonen
2009-06-18  8:29                 ` Johannes Schindelin
2009-06-18  8:44                   ` Teemu Likonen
2009-06-18 12:16                     ` Johannes Schindelin
2009-06-18 13:10                       ` Jakub Narebski
2009-06-18 14:04                   ` John Koleszar
2009-06-18  8:20               ` Junio C Hamano
2009-06-18  8:33                 ` Johannes Schindelin
2009-06-18  8:44                   ` Michael J Gruber
2009-06-19  7:18                   ` Miles Bader
2009-06-18 11:18                 ` Nicolas Sebrecht
2009-06-18  8:34               ` Matthieu Moy
2009-06-18  8:44                 ` Johannes Schindelin
2009-06-18  8:59                   ` Matthieu Moy
2009-06-18 10:59             ` Nicolas Sebrecht
2009-06-18  5:21       ` [PATCH] " Junio C Hamano
2009-06-18 21:55         ` [PATCH v2] rebase -i --autosquash: " Nanako Shiraishi
2009-06-18 22:35           ` Alex Riesen
2009-06-19 23:07           ` Wincent Colaiuta
2009-06-20  1:46             ` Nanako Shiraishi
2009-06-18  7:20       ` Michael Haggerty [this message]
2009-06-18  7:54         ` [PATCH] rebase -i: " Junio C Hamano

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=4A39EAAB.70402@alum.mit.edu \
    --to=mhagger@alum.mit.edu \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=johnflux@gmail.com \
    --cc=nanako3@lavabit.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.