From: Catalin Marinas <catalin.marinas@gmail.com>
To: Chris Mason <mason@suse.com>
Cc: Petr Baudis <pasky@suse.cz>, Theodore Ts'o <tytso@mit.edu>,
Joel Becker <Joel.Becker@oracle.com>,
Junio C Hamano <junkio@cox.net>,
git@vger.kernel.org
Subject: Re: hgmq vs. StGIT
Date: Tue, 1 Nov 2005 17:29:19 +0000 [thread overview]
Message-ID: <b0943d9e0511010929u22b33e4el@mail.gmail.com> (raw)
In-Reply-To: <20051101141149.GA26847@watt.suse.com>
On 01/11/05, Chris Mason <mason@suse.com> wrote:
> On Tue, Nov 01, 2005 at 10:08:04AM +0100, Petr Baudis wrote:
> > Did anyone do any current detailed comparison between hg mq and StGIT?
>
> I don't think so, but I'll give it a rough try. I have not used stgit
> extensively, so please correct any mistakes below. Most of the
> differences center around the ways we store patches.
Thanks for this comparison. It is correct.
> mq is closer to quilt. The patches are stored as patches, and hg qpush
> is very similar to importing a patch. This means metadata must be
> stored at the top of the patch in some form the import code can
> understand (it tries to be smart about this).
The problem with this is allowing people to modify the patch directly
(with vi). This would make it difficult to do a three-way merge
without either losing the direct changes or simply failing to apply a
modified patch to its old base (I thought about using patches as an
optimisation but after some benchmarking found that "git-diff-tree |
git-apply" is fast enough and most of the time when pushing is
calculating the sha1 hash of the resulting index file).
> hg qrefresh will update the patch file, so the patch is always up to
> date wrt to the hg repo.
Chuck, I think, has a patch to automatically export the patch when
pushing or refreshing. With the latest StGIT snapshot, the tool
reports if the patch was modified during push and can only be exported
in this case (the way it detects this is by assuming that if git-apply
is successful, the patch is unmodified since no fuzzy applying is
accepted; the fall back to three-way merge just reports the patch as
modified).
> You can import/export patches with hg commands, or by copying patches
> into/from the .hg/patches directory. This also means you can take a
> quilt patch dir, copy it into .hg/patches and just start using mq.
As I said, you might have problems with implementing a three-way merge.
> I'm not sure if stgit has some form of annotate, but it's a nice way to
> find out which patch changed a given loc in hg/mq.
There is git-whatchanged which also reports the StGIT patches applied
onto the stack. But there is no command similar to 'quilt patches'
yet.
--
Catalin
next prev parent reply other threads:[~2005-11-01 17:29 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-10-31 1:50 git versus CVS (versus bk) walt
2005-10-31 1:59 ` Martin Langhoff
2005-10-31 2:03 ` H. Peter Anvin
2005-10-31 2:35 ` Linus Torvalds
2005-10-31 10:24 ` Johannes Schindelin
2005-10-31 16:18 ` Linus Torvalds
2005-10-31 18:18 ` wa1ter
2005-10-31 19:44 ` Randal L. Schwartz
2005-10-31 23:41 ` walt
2005-11-01 0:15 ` Daniel Barkalow
2005-11-01 0:21 ` Linus Torvalds
2005-10-31 19:50 ` Joel Becker
2005-10-31 20:28 ` Martin Langhoff
2005-10-31 21:30 ` Joel Becker
2005-11-01 9:15 ` Petr Baudis
2005-11-01 16:17 ` Joel Becker
2005-11-01 17:35 ` Petr Baudis
2005-11-07 22:56 ` Petr Baudis
2005-11-08 10:50 ` Josef Weidendorfer
2005-11-08 12:04 ` Petr Baudis
2005-11-01 2:17 ` Randal L. Schwartz
2005-11-01 2:23 ` Linus Torvalds
2005-11-01 2:34 ` Randal L. Schwartz
2005-11-01 2:47 ` Linus Torvalds
2005-11-01 2:35 ` Junio C Hamano
2005-11-01 23:56 ` Horst von Brand
2005-11-02 8:54 ` Andreas Ericsson
2005-11-02 9:26 ` Junio C Hamano
2005-10-31 21:00 ` Junio C Hamano
2005-10-31 21:36 ` Joel Becker
2005-10-31 21:53 ` Linus Torvalds
2005-10-31 22:14 ` Junio C Hamano
2005-10-31 22:42 ` Joel Becker
2005-11-01 0:20 ` Junio C Hamano
2005-11-01 0:42 ` Joel Becker
2005-11-01 1:02 ` Martin Langhoff
2005-11-01 1:29 ` Joel Becker
2005-11-01 1:48 ` Linus Torvalds
2005-11-01 9:17 ` Petr Baudis
2005-11-01 13:25 ` Catalin Marinas
2005-11-01 0:25 ` Theodore Ts'o
2005-11-01 9:08 ` hgmq vs. StGIT Petr Baudis
2005-11-01 9:23 ` Catalin Marinas
2005-11-01 10:10 ` Petr Baudis
2005-11-01 17:34 ` Catalin Marinas
2005-11-01 15:20 ` Chuck Lever
2005-11-01 15:36 ` Chris Mason
2005-11-01 17:18 ` Catalin Marinas
2005-11-01 18:13 ` Chris Mason
2005-11-01 21:30 ` Catalin Marinas
2005-11-02 15:41 ` Chris Mason
2005-11-05 20:23 ` Catalin Marinas
2005-11-09 23:32 ` Petr Baudis
2005-11-10 0:08 ` Pavel Machek
2005-11-10 16:20 ` Catalin Marinas
2005-11-01 14:11 ` Chris Mason
2005-11-01 16:00 ` Linus Torvalds
2005-11-01 17:13 ` Catalin Marinas
2005-11-01 17:29 ` Catalin Marinas [this message]
2005-11-01 17:59 ` Chris Mason
2005-11-01 21:22 ` Catalin Marinas
2005-11-01 0:31 ` git versus CVS (versus bk) Daniel Barkalow
2005-10-31 21:35 ` Linus Torvalds
2005-10-31 13:00 ` wa1ter
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=b0943d9e0511010929u22b33e4el@mail.gmail.com \
--to=catalin.marinas@gmail.com \
--cc=Joel.Becker@oracle.com \
--cc=git@vger.kernel.org \
--cc=junkio@cox.net \
--cc=mason@suse.com \
--cc=pasky@suse.cz \
--cc=tytso@mit.edu \
/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).