Re: [RFC/PATCH] Add git-squash tool and tests
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Jun 10, 2008, 00:26 UTC
- Message-ID
- <alpine.DEB.1.00.0806100121150.1783@racer>
- In-Reply-To
- <20080609234208.GE8079@leksak.fem-net>
Hi,
On Tue, 10 Jun 2008, Stephan Beyer wrote:
Show 8 quoted lines
> > Except that zucchini is meant for the sequencer, which can implement it > > much more efficiently (i.e. it does not have to check out HEAD~$n). Also, > > it must not rely on reflogs being enabled. > > > > sequencer is plumbing, while the reset mantra is porcelain. > > Do I get you right, that the builtin sequencer must not use any of the > porcelain like cherry-pick, reset and even commit?
AFAIAC cherry-pick and reset, and even commit, are not "pure" porcelain: you can rely on their exit code and to a certain extent on their output. Although I would rather use commit-tree from a script than commit.
I'd probably even use git update-ref instead of reset --soft, but then, I _would_ use cherry-pick.
So there is a lot of gray.
Show 5 quoted lines
> (Perhaps I got it wrong, but it doesn't seem "right" to me, if a > plumbing uses porcelain.) > > Currently my prototype *uses* these porcelain, so is it a porcelain in > its current state? ;)
I would say as long as it is meant to be used by a human, it is porcelain. And I do not think that git-sequencer falls into that category.
So it should avoid pure porcelains, such as "git show", and use the (robust) low-level tools instead.
But I feel quite silly talking about that at length; I think that you can use whatever gets a prototype done, and then go on and make it a builtin.
Ciao, Dscho