From: Matt Mackall <mpm@selenic.com>
To: git@vger.kernel.org
Subject: distributed merge prototype
Date: Wed, 20 Apr 2005 10:50:42 -0700 [thread overview]
Message-ID: <20050420175042.GH21897@waste.org> (raw)
I've hacked together a prototype SCM that I think you folks might be
interested in. The announcement is here:
http://selenic.com/mercurial/announce.txt
It's at a very early stage right now and is likely to break if you
look at it wrong, but I have sucessfully managed to check in kernel
trees, do a local clone/branch, make changes in both trees, and then
do a pull/sync which called up tkdiff where appropriate.
I mention it here because I've got a fairly simple implementation of
distributed merge ala Monotone or BK with the necessary graph smarts.
It also should perform decently - I've paid a lot of attention to the
scalability of the core algorithms. The core of the merge code is less
than 100 lines so even people who aren't familiar with Python may be
able to wrap their head around it and leverage it for git.
I'd also like to encourage more attention to back-end storage.
Mercurial can check in all 495 versions of linux/Makefile from bkcvs
to compressed delta store in about 5 seconds on my laptop and the
result is about 80K (bkcvs takes 254K). Adding and retrieving
revisions is O(1).
The same directory individually compressed by gzip (ie what git does)
takes a comparable amount of time and 5.1M of disk space. This is
admittedly a worst case for git as most of the deltas are small, but I
needed a test file with lots of revisions.
Now back to our regularly scheduled programming..
--
Mathematics is the supreme nostalgia of our time.
reply other threads:[~2005-04-20 17:46 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=20050420175042.GH21897@waste.org \
--to=mpm@selenic.com \
--cc=git@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.