On 23/08/07, Josef Sipek <jsipek@xxxxxxxxxxxxxxxxx> wrote: > On Thu, Aug 23, 2007 at 09:36:05PM +0100, Catalin Marinas wrote: > > On 23/08/07, Josef Sipek <jsipek@xxxxxxxxxxxxxxxxx> wrote: > > > Yep. Two different projects taking different approaches to storing the > > > patches. I go with the plaintext diff approach ala quilt, while stgit uses > > > git objects to store the data. > > > > But guilt also generates a commit object when pushing a patch. Or am I wrong? > > That's correct. But the git commit/tree/blob objects are a mere cache. For > example, a refresh consists of: > > git-update-index ... > git-diff HEAD^ > patchfile > git-reset --hard HEAD^ > <internal push patch function - uses git-apply, git-{write,commit}-tree> StGIT does a "git-diff | git-apply" during push as an optimisation. Guilt moved the diff to the 'refresh' command. It might be a good idea as the delay during 'push' is much more visible. As I said in the past, the difference I see is that StGIT performs three-way merging if simple git-apply fails, with the possibility (configurable) of automatically starting a three-way merge tool like xxdiff or emacs. Guilt could probably be modified but this information needed for the three-way merge might be lost with text-only patches. The rest is some extra functionality, StGIT being around for longer (actually I think two months younger than the first official GIT announcement). -- Catalin - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html