From: "Eric S. Raymond" <esr@thyrsus.com>
To: Johan Herland <johan@herland.net>
Cc: "Jakub Narębski" <jnareb@gmail.com>,
"Martin Langhoff" <martin.langhoff@gmail.com>,
"Git Mailing List" <git@vger.kernel.org>
Subject: Re: I have end-of-lifed cvsps
Date: Tue, 17 Dec 2013 13:47:24 -0500 [thread overview]
Message-ID: <20131217184724.GA17709@thyrsus.com> (raw)
In-Reply-To: <CALKQrgeegcsO7YVqEmQxD4=HfR4eitodAov0tEh7MRvBxtRKUA@mail.gmail.com>
Johan Herland <johan@herland.net>:
> However, I fear that you underestimate the number of users that want
> to use Git against CVS repos that are orders of magnitude larger (in
> both dimensions: #commits and #files) than your example repo.
You may be right. See below...
I'm working with Alan Barret now on trying to convert the NetBSD
repositories. They break cvs-fast-export through sheer bulk of
metadata, by running the machine out of core. This is exactly
the kind of huge case that you're talking about.
Alan and I are going to take a good hard whack at modifying cvs-fast-export
to make this work. Because there really aren't any feasible alternatives.
The analysis code in cvsps was never good enough. cvs2git, being written
in Python, would hit the core limit faster than anything written in C.
> Although a full-history converter with fairly stable output can be
> made to support this second problem for repos up to a certain size,
> there will probably still be users that want to work incrementally
> against much bigger repos, and I don't think _any_
> full-history-gone-incremental importer will be able to support the
> biggest repos.
>
> Consequently I believe that for these big repos it is _impossible_ to
> get both fast incremental workflows and a high degree of (historical)
> correctness.
>
> cvsps tried to be all of the above, and failed badly at the
> correctness criteria. Therefore I support your decision to "shoot it
> through the head". I certainly also support any work towards making a
> full-history converter work in an incremental manner, as it will be
> immensely useful for smaller CVS repos. But at the same time we should
> realize that it won't be a solution for incrementally working against
> _large_ CVS repos.
It is certainly the case that a sufficiently large CVS repo will break
anything, like a star with a mass over the Chandrasekhar limit becoming a
black hole :-)
The question is how common such supermassive cases are. My own guess is that
the *BSD repos and a handful of the oldest GNU projects are pretty much the
whole set; everybody else converted to Subversion within the last decade.
> Although it should have been made obvious a long time ago, the removal
> of cvsps has now made it abundantly clear that Git currently provides
> no way to support the incremental workflow against large CVS repos.
> Maybe that is ok, and we can ignore that, waiting for the few
> remaining large CVS repos to die? Or maybe we need a new effort to
> fill this niche? Something that is NOT based on a full-history
> converter, and does NOT try to guarantee a history-correct conversion,
> but that DOES try to guarantee fast and relatively worry-free two-way
> synchronization against a CVS server. Unfortunately (or fortunately,
> depending on POV) I have not had to touch CVS in a long while, and I
> don't see that changing soon, so it is not my itch to scratch.
Nor mine. I find the very idea of writing anything that encourages
non-history-correct conversions disturbing and want no part of it.
Which matters, because right now the set of people working on CVS lifters
begins with me and ends with Michael Rafferty (cvs2git), who seems even
less interested in incremental conversion than I am. Unless somebody
comes out of nowhere and wants to own that problem, it's not going
to get solved.
--
<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>
next prev parent reply other threads:[~2013-12-17 18:47 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-12 0:17 I have end-of-lifed cvsps Eric S. Raymond
2013-12-12 3:38 ` Martin Langhoff
2013-12-12 4:26 ` Eric S. Raymond
2013-12-12 13:42 ` Martin Langhoff
2013-12-12 17:17 ` Andreas Krey
2013-12-12 17:26 ` Martin Langhoff
2013-12-12 18:35 ` Eric S. Raymond
2013-12-12 18:29 ` Eric S. Raymond
2013-12-12 19:08 ` Martin Langhoff
2013-12-12 19:39 ` Eric S. Raymond
2013-12-12 19:48 ` Martin Langhoff
2013-12-12 20:58 ` Eric S. Raymond
2013-12-12 22:51 ` Martin Langhoff
2013-12-12 23:04 ` Eric S. Raymond
2013-12-13 2:35 ` Martin Langhoff
2013-12-13 3:38 ` Eric S. Raymond
2013-12-12 18:15 ` Eric S. Raymond
2013-12-12 18:53 ` Martin Langhoff
2013-12-17 10:57 ` Jakub Narębski
2013-12-17 11:18 ` Johan Herland
2013-12-17 14:58 ` Eric S. Raymond
2013-12-17 17:52 ` Johan Herland
2013-12-17 18:47 ` Eric S. Raymond [this message]
2013-12-17 21:26 ` Johan Herland
2013-12-17 22:41 ` Eric S. Raymond
2013-12-18 23:44 ` Michael Haggerty
2013-12-19 1:11 ` Johan Herland
2013-12-19 9:31 ` Michael Haggerty
2013-12-19 15:26 ` Johan Herland
2013-12-19 16:18 ` Michael Haggerty
2013-12-19 4:06 ` Eric S. Raymond
2013-12-19 9:43 ` Michael Haggerty
2013-12-17 14:07 ` Eric S. Raymond
2013-12-17 19:58 ` Jakub Narębski
2013-12-17 21:02 ` Eric S. Raymond
2013-12-18 0:02 ` Jakub Narębski
2013-12-18 0:21 ` Eric S. Raymond
2013-12-18 15:39 ` Jakub Narębski
2013-12-18 16:23 ` incremental fast-import and marks (Re: I have end-of-lifed cvsps) Jonathan Nieder
2013-12-18 16:27 ` I have end-of-lifed cvsps Eric S. Raymond
2013-12-18 16:53 ` Martin Langhoff
2013-12-18 19:54 ` John Keeping
2013-12-18 20:20 ` Eric S. Raymond
2013-12-18 20:47 ` Kent R. Spillner
2013-12-18 17:46 ` Jeff King
2013-12-18 19:16 ` Eric S. Raymond
2013-12-18 0:04 ` Andreas Schwab
2013-12-18 0:25 ` Eric S. Raymond
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=20131217184724.GA17709@thyrsus.com \
--to=esr@thyrsus.com \
--cc=git@vger.kernel.org \
--cc=jnareb@gmail.com \
--cc=johan@herland.net \
--cc=martin.langhoff@gmail.com \
/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).