git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: StGIT vs. guilt: What's the difference?

From
JSJosef Sipek <jsipek@fsl.cs.sunysb.edu>
Date
Jun 17, 2007, 03:54 UTC
Message-ID
<20070617035426.GH7025@filer.fsl.cs.sunysb.edu>
In-Reply-To
<tnx1wgds1pv.fsf@arm.com>
On Fri, Jun 15, 2007 at 03:59:24PM +0100, Catalin Marinas wrote:
Show 12 quoted lines
> Karl Hasselström <kha@treskal.com> wrote:
> > On 2007-06-14 14:55:54 -0700, Steven Grimm wrote:
> >
> >> I've asked this on IRC a couple times and nobody seemed to have a
> >> good answer, so: These two tools seem like they are solving the same
> >> general problem using similar approaches. They are both under active
> >> development. In what areas is each of them stronger than the other?
> >> Why would one choose to use one of them instead of the other?
> >
> > I have never had a close look at guilt, but from what I remember it
> > stores patches as plain old plaintext patches (corrections to this
> > statement welcome). StGIT uses git's object database.
 
Sorry I missed this thread...
Show 5 quoted lines
> I haven't tried quilt either but, if it uses plain text patches, the
> disadvantage might be the losing of the three-way merge when pushing a
> patch onto the stack. The solution is to remember which commit the
> patch applies to, switch the tree, apply the patch and merge with
> HEAD.
 
Catalin: Perhaps a comparison table might be in order? This is most
definitely not the first time this question has been asked.
> Are the guilt patches accessible as commit objects at the top of the
> stack?
When you push a patch, you're doing:
	
	git-apply && git-commit
When you pop a patch, you're doing:
	git-reset --hard HEAD^

So, once a patch is pushes, it is a separate commit in the git tree, and one can run any valid git command on it.

Now, of course the actual implementation is little bit more complex (e.g., using git-write-tree and git-commit-tree, as well as allowing to pop several patches at the same time).

> StGIT might have some more features as it is older but I see a lot of
> development is going on with guilt.

I haven't looked at stgit in a number of months, but stgit most likely has many features which make use of the extra metadata stored.

I'm trying to take the simpler approach - most of the time, the user just want to push, refresh, and pop. With that said, there are plenty of useful commands (26 as of now).

> I would welcome such a discussion (so please keep me cc'ed) as we can
> share the experience with various issues.
Same here.

One additional thing. About four months ago, I've heard that stgit tends to blow up when you switch branches using git-checkout - guilt of course doesn't :) My information may be outdated, so corrections are welcome.

Josef "Jeff" Sipek.
-- 
Hegh QaQ law'
quvHa'ghach QaQ puS
Previous: Yann DirsonNext: Catalin Marinas
Message 8 of 9 in “StGIT vs. guilt: What's the difference?”
  1. Steven GrimmJun 14, 2007
  2. Karl HasselströmJun 15, 2007
  3. Catalin MarinasJun 15, 2007
  4. Yann DirsonJun 15, 2007
  5. Josef SipekJun 17, 2007
  6. Catalin MarinasJun 17, 2007
  7. Yann DirsonJun 17, 2007
  8. Josef SipekJun 17, 2007
  9. Catalin MarinasJun 17, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.