From: Junio C Hamano <gitster@pobox.com>
To: Michael Haggerty <mhagger@alum.mit.edu>
Cc: Nanako Shiraishi <nanako3@lavabit.com>,
John Tapsell <johnflux@gmail.com>,
git@vger.kernel.org
Subject: Re: [PATCH] rebase -i: auto-squash commits
Date: Thu, 18 Jun 2009 00:54:47 -0700 [thread overview]
Message-ID: <7vws7ayo1k.fsf@alter.siamese.dyndns.org> (raw)
In-Reply-To: <4A39EAAB.70402@alum.mit.edu> (Michael Haggerty's message of "Thu\, 18 Jun 2009 09\:20\:11 +0200")
Michael Haggerty <mhagger@alum.mit.edu> writes:
> 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"?
That may be a good feature, but that won't work as well as the patch being
discussed for _me_.
IOW, I think what you are suggesting is a different feature.
It largely depends on how you work. I do not function well when I get
interrupted and/or disrupted often, and I would prefer the convenience of
being able to simply queue a trivial patch with a minimum amount of fuss
(e.g. just leave a note that says "to be squashed to that other one" and
nothing else) when I find a trivial breakage that is unrelated to what I
am concentrating on.
Imagine the "Clean up the surrounding code" then "Lay the groundwork" and
finally "Implement a cool new feature" sequence I outlined in the message
the patch was response to. When I thought I am finished cleaning up the
surrounding code and laid the groundwork, and finally concentrating on
implementing the new feature (which is the fun part), I may notice small
breakages and untidiness I could squash into earlier commits.
It is very distracting, however, if I have to go back to the state _before
I wrote all the fun code for the new feature_ to fix the breakage right
there. Once I go back, the surrounding code would look all different, and
I may even be tempted to do the full test cycle before finishing your
"amend in the past" operation. The distraction will destroy my momentum
and concentration.
It's much more easier on my brain to commit the fix-up to be later
squashed (use "add -p then commit" for that) and continue. I can keep the
momentum going that way.
But that is how _I_ work. You may well work differently, and for you
"stop, switch brain back to the state before all these fun work and amend,
then finally come back" workflow may work better.
What I am saying is that "a variant of commit" you talk may be good but it
won't be a _replacement_ for the effort to make squash easier to do while
running "rebase -i".
prev parent reply other threads:[~2009-06-18 7:55 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 ` [PATCH] rebase -i: " Michael Haggerty
2009-06-18 7:54 ` Junio C Hamano [this message]
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=7vws7ayo1k.fsf@alter.siamese.dyndns.org \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=johnflux@gmail.com \
--cc=mhagger@alum.mit.edu \
--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 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).