From: Stephan Beyer <s-beyer@gmx.net>
To: git@vger.kernel.org
Cc: Junio C Hamano <gitster@pobox.com>,
Johannes Schindelin <Johannes.Schindelin@gmx.de>,
Joerg Sommer <joerg@alea.gnuu.de>,
Daniel Barkalow <barkalow@iabervon.org>,
Christian Couder <chriscool@tuxfamily.org>
Subject: squashing patches (was: Re: [RFC] git-sequencer.txt)
Date: Mon, 9 Jun 2008 13:45:50 +0200 [thread overview]
Message-ID: <20080609114550.GA8079@leksak.fem-net> (raw)
In-Reply-To: <20080607220101.GM31040@leksak.fem-net>
Wow,
I didn't expect *that much* feedback :-)
I think I begin slowly to comment some things, and/or tell you
some things that are still open.
Then, maybe, someone of you swoops in :)
> TODO FILE FORMAT
> ----------------
First to say, I tried to be (backwards-)compatible to the
rebase--interactive TODO file format in "master".
It became incompatible to the one in "next" in one point
only (-> merge). But if I understood "next" right, this is
not bad, since Joerg Sommers rebase-i patchset is still
open for discussion (i.e. mark).
Well, now I come to the subject's topic.
I've noticed that one thing is *obviously* missing:
There's a slight asymmetry between
> file [<options>] <file>::
and
> pick [<options>] <commit>::
> edit <commit>::
> squash [<options>] <commit>::
"edit" is kept for backwards compatibility. It's a short form for and
internally `expanded' to "pick --edit".
As --edit is a general option, there is also "file --edit".
So there's no functional asymmetry in this case.
If you want to pick several commits and squash them together, there is
"squash". BUT there is no equivalent for "file" currently.
The only way to squash several patches together is with an external tool
like your favourite text editor, which is not fun but error-prone.
And there is no way to squash a commit (in the repo) and a patch (as file)
together (in exactly this order). The only thing is that you could run
sequencer twice and squash in the second move.
So I wonder if file --squash is useful, too, or even --squash as an
general option. The latter means that you could squash merge commits
into other commits, too.
We've also discussed the non-atomic approach of doing something like
pick ( a b c d ) # or another syntax for that
for picking multiple commits into one.
In my current point of view, this does not seem right, as it:
- is not atomic ;), and...
- Well, the approach could be used for "file ( a b c d )", too,
but it doesn't help for squashing commits AND patches.
Comments? Opinions? Ideas?
A first try to prod,
Stephan.
--
Stephan Beyer <s-beyer@gmx.net>, PGP 0x6EDDD207FCC5040F
next prev parent reply other threads:[~2008-06-09 11:46 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-07 22:01 [RFC] git-sequencer.txt Stephan Beyer
2008-06-09 11:45 ` Stephan Beyer [this message]
2008-06-09 14:04 ` squashing patches (was: Re: [RFC] git-sequencer.txt) Johannes Schindelin
2008-06-09 15:10 ` squashing patches Paolo Bonzini
2008-06-09 15:43 ` Paolo Bonzini
2008-06-09 16:29 ` Stephan Beyer
2008-06-09 16:37 ` Paolo Bonzini
2008-06-09 20:29 ` [RFC/PATCH] Add git-squash tool and tests Stephan Beyer
2008-06-09 20:34 ` Johannes Schindelin
2008-06-09 20:53 ` Paolo Bonzini
2008-06-09 21:34 ` Johannes Schindelin
2008-06-09 23:42 ` Stephan Beyer
2008-06-10 0:26 ` Johannes Schindelin
2008-06-09 23:46 ` Stephan Beyer
2008-06-09 19:34 ` squashing patches Junio C Hamano
2008-06-09 20:43 ` Stephan Beyer
2008-06-09 20:53 ` Jeff King
2008-06-09 23:57 ` Stephan Beyer
2008-06-10 1:00 ` Jeff King
2008-06-09 21:02 ` Junio C Hamano
2008-06-10 0:38 ` Stephan Beyer
2008-06-09 16:49 ` [RFC] git-sequencer.txt Jakub Narebski
2008-06-10 1:21 ` Stephan Beyer
2008-06-10 4:46 ` Christian Couder
2008-06-10 8:59 ` Stephan Beyer
2008-06-11 4:10 ` Christian Couder
2008-06-11 17:07 ` Daniel Barkalow
2008-06-10 6:17 ` Jakub Narebski
2008-06-12 0:22 ` [RFCv2/FYI] git-sequencer.txt Stephan Beyer
2008-06-12 1:31 ` Paolo Bonzini
2008-06-12 15:29 ` Stephan Beyer
2008-06-12 15:38 ` [RFC/PATCH] git-commit: Change --reuse-message to --reuse-commit Stephan Beyer
2008-06-12 15:56 ` [RFCv2/FYI] git-sequencer.txt Paolo Bonzini
2008-06-12 5:16 ` Junio C Hamano
2008-06-12 17:07 ` Stephan Beyer
2008-06-13 5:04 ` Paolo Bonzini
2008-06-13 12:16 ` Stephan Beyer
2008-06-13 14:42 ` Paolo Bonzini
2008-06-13 19:24 ` Olivier Marin
2008-06-12 14:10 ` Jakub Narebski
2008-06-12 17:20 ` Stephan Beyer
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=20080609114550.GA8079@leksak.fem-net \
--to=s-beyer@gmx.net \
--cc=Johannes.Schindelin@gmx.de \
--cc=barkalow@iabervon.org \
--cc=chriscool@tuxfamily.org \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=joerg@alea.gnuu.de \
/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).