From: Catalin Marinas Date: Thu, 23 Aug 2007 20:48:09 GMT Subject: Re: stgit 0.13 import mbox problems Message-ID: In-Reply-To: <20070823204202.GA10644@filer.fsl.cs.sunysb.edu> On 23/08/07, Josef Sipek wrote: > On Thu, Aug 23, 2007 at 09:36:05PM +0100, Catalin Marinas wrote: > > On 23/08/07, Josef Sipek 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^ > 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