monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Monotone-devel] Re: Comparison of Monotone and git


From: Bruce Stephens
Subject: [Monotone-devel] Re: Comparison of Monotone and git
Date: Thu, 19 Jun 2008 17:17:03 +0100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.2 (gnu/linux)

William Uther <address@hidden> writes:

[...]

>  * Merging:
>     - Monotone uses mark-merge and 3-way text merge
>       - Monotone stores more information (which files moved when)
>     - git uses heuristic merging
>       - Git never gets stymied by something outside its model (e.g.
> die-die-die merge)
>       - This doesn't mean git can handle everything easily - it might
> just dump a mess on the user - but the user can always fix things.

git does workspace merge.

git allows a variety of merge algorithms, so if 3-way merge isn't
right you can use something else.  For example, occasionally you want
to merge in some subbranch but discard its contents (because they've
been done in a different way); in that case "git merge -s ours" is
suitable.  However, git just doesn't store precise information about
file renames and things to do what monotone does, so algorithms are
limited in what they can do.  In practice it seems to work fine, but I
confess I've not really used merge that much (rebase fits better our
workflow, except for tracking third-party stuff).

[...]

>     - Git has a reputation for being very fast, whereas monotone has
> a reputation for being slow.  It is unclear to me if this reputation
> is derived from workspace operations like 'status', or from network
> operations, or both.  I know that monotone has improved significantly
> since it acquired its reputation, and git has slowed down as it has
> gained more features.  I haven't seen any recent benchmarks to confirm
> or deny this legend.

My impression is that monotone's speed is fine.  I don't think I'd
dismiss monotone for reasons of speed.

However, git really is fast, and that combined with the local nature
of branch names (and tags) (and the related way that commits can be
discarded easily) changes how one uses the VCS.  It's become much more
of a useful tool than I remember monotone being, back when I used
monotone, and a part of that is that it's really fast.

As a trivial example, I find myself using "git grep" to search source
files, partly because it's convenient, but just as importantly because
it's faster than searching the files themselves.

[...]





reply via email to

[Prev in Thread] Current Thread [Next in Thread]