From: "Jon Smirl" <jonsmirl@gmail.com>
To: "Michael Haggerty" <mhagger@alum.mit.edu>
Cc: "Martin Langhoff" <martin.langhoff@gmail.com>,
"Markus Schiltknecht" <markus@bluegap.ch>,
"Git Mailing List" <git@vger.kernel.org>,
monotone-devel@nongnu.org, dev@cvs2svn.tigris.org
Subject: Re: cvs import
Date: Thu, 14 Sep 2006 01:30:19 -0400 [thread overview]
Message-ID: <9e4733910609132230p272c205eq45d9da24267396a8@mail.gmail.com> (raw)
In-Reply-To: <4508E26B.5000106@alum.mit.edu>
On 9/14/06, Michael Haggerty <mhagger@alum.mit.edu> wrote:
> Jon Smirl wrote:
> > On 9/14/06, Michael Haggerty <mhagger@alum.mit.edu> wrote:
> >> But aside from this point, I think an intrinsic part of implementing
> >> incremental conversion is "convert the subsequent changes to the CVS
> >> repository *subject to the constraints* imposed by decisions made in
> >> earlier conversion runs. And the real trick is that things can be done
> >> in CVS (e.g., line-end changes, manual copying of files in the repo)
> >> that (a) are unversioned and (b) have retroactive effects that go
> >> arbitrarily far back in time. This is the reason that I am pessimistic
> >> that incremental conversion will ever work robustly.
> >
> > We don't need really robust incremental conversion. It just needs to
> > work most of the time. Incremental conversion is usually used to track
> > the main CVS repo with the new tool while people decide if they like
> > the new tool. Commits will still flow to the CVS repo and get
> > incrementally copied to the new tool so that it tracks CVS in close to
> > real time.
>
> I hadn't thought of the idea of using incremental conversion as an
> advertising method for switching SCM systems :-) But if changes flow
> back to CVS, doesn't this have to be pretty robust?
Changes flow back to CVS but using the new tool to generate a patch,
apply the patch to your CVS check out and commit it.
There are too many people working on Mozilla to get agreement to
switch in a short amount of time. git may need to mirror CVS for
several months. There are also other people pushing svn, monotone,
perforce, etc, etc, etc. Bottom line, Mozilla really needs a
distributed system because external companies are making large changes
and want their repos in house.
In my experience none of the other SCMs are up to taking one Mozilla
yet. Git has the tools but I can get a clean import.
I am using this process on Mozilla right now with git. I have a script
that updates my CVS tree overnight and then commits the changes into a
local git repo. I can then work on Mozilla using git but my history is
all messed up. When a change is ready I generate a diff against last
night's check out and apply it to my CVS tree and commit. CVS then
finds any merge problems for me.
>
> In our trial period, we simply did a single conversion to SVN and let
> people play with this test repository. When we decided to switch over
> we did another full conversion and simply discarded the changes that had
> been made in the test SVN repository.
>
> The use cases that I had considered were:
>
> 1. For conversions that take days, one could do a full commit while
> leaving CVS online, then take CVS offline and do only an incremental
> conversion to reduce SCM downtime. This is of course less of an issue
> if you could bring the conversion time down to a couple hours for even
> the largest CVS repos.
>
> 2. Long-term continuous mirroring (backwards and forwards) between CVS
> and another SCM, to allow people to use their preferred tool. (I
> actually think that this is a silly idea, but some people seem to like it.)
>
> For both of these applications, incremental conversion would have to be
> robust (for 1 it would at least have to give a clear indication of
> unrecoverable errors).
>
>
> Michael
>
--
Jon Smirl
jonsmirl@gmail.com
next prev parent reply other threads:[~2006-09-14 5:30 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <45084400.1090906@bluegap.ch>
2006-09-13 19:01 ` cvs import Jon Smirl
2006-09-13 20:41 ` Martin Langhoff
2006-09-13 21:04 ` Markus Schiltknecht
2006-09-13 21:15 ` Oswald Buddenhagen
2006-09-13 21:16 ` Martin Langhoff
2006-09-14 4:17 ` Michael Haggerty
2006-09-14 4:34 ` Jon Smirl
2006-09-14 5:02 ` Michael Haggerty
2006-09-14 5:21 ` Martin Langhoff
2006-09-14 5:35 ` Michael Haggerty
2006-09-14 5:30 ` Jon Smirl [this message]
2006-09-14 4:40 ` Martin Langhoff
2006-09-13 21:05 ` Markus Schiltknecht
2006-09-13 21:38 ` Jon Smirl
2006-09-14 5:36 ` Michael Haggerty
2006-09-14 15:50 ` Shawn Pearce
2006-09-14 16:04 ` Jakub Narebski
2006-09-14 16:18 ` Shawn Pearce
2006-09-14 16:27 ` Jon Smirl
2006-09-14 17:01 ` Michael Haggerty
2006-09-14 17:08 ` Jakub Narebski
2006-09-14 17:17 ` Jon Smirl
2006-09-15 7:37 ` Markus Schiltknecht
2006-09-16 3:39 ` Shawn Pearce
2006-09-16 6:04 ` Oswald Buddenhagen
2006-09-16 6:21 ` Nathaniel Smith
2006-09-13 22:52 ` Nathaniel Smith
2006-09-13 23:21 ` Daniel Carosone
2006-09-13 23:52 ` [Monotone-devel] " Daniel Carosone
2006-09-13 23:42 ` Keith Packard
2006-09-14 0:32 ` Nathaniel Smith
2006-09-14 0:57 ` [Monotone-devel] " Jon Smirl
2006-09-14 1:53 ` Daniel Carosone
2006-09-14 2:30 ` [Monotone-devel] " Shawn Pearce
2006-09-14 3:19 ` Daniel Carosone
2006-09-14 21:57 ` [Monotone-devel] " Petr Baudis
2006-09-14 22:04 ` Shawn Pearce
2006-09-14 2:35 ` Shawn Pearce
2009-02-16 9:17 CVS import Ferry Huberts (Pelagic)
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=9e4733910609132230p272c205eq45d9da24267396a8@mail.gmail.com \
--to=jonsmirl@gmail.com \
--cc=dev@cvs2svn.tigris.org \
--cc=git@vger.kernel.org \
--cc=markus@bluegap.ch \
--cc=martin.langhoff@gmail.com \
--cc=mhagger@alum.mit.edu \
--cc=monotone-devel@nongnu.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 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).