From: John Keeping <john@keeping.me.uk>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org, "Eric S. Raymond" <esr@thyrsus.com>,
Chris Rorvick <chris@rorvick.com>
Subject: Re: What's cooking in git.git (Jan 2013, #08; Tue, 22)
Date: Wed, 23 Jan 2013 09:28:58 +0000 [thread overview]
Message-ID: <20130123092858.GJ7498@serenity.lan> (raw)
In-Reply-To: <7vobgglpv4.fsf@alter.siamese.dyndns.org>
On Tue, Jan 22, 2013 at 04:11:59PM -0800, Junio C Hamano wrote:
> John Keeping <john@keeping.me.uk> writes:
>> Would you mind holding off on this? As it stands there are a couple of
>> issues with the cvsimport-3 script including: ...
>
> Actually I do. I think this, at least the early part of it, should
> be merged to 'next' as soon as possible, *unless*
>
> (1) The cvsimport-2 & cvsps2 combo this series ships gives worse
> experience than cvsimport we ship in v1.8.1 to end users of the
> current cvsimport with cvsps2; and/or
>
> (2) The cvsimport-3 in this series, which is a copy of an older
> version of what Eric has, is so broken that we are better off
> starting cvsimport-3 by getting a fresh copy from Eric which
> has been rewritten in a major way, than applying huge
> incremental update patches that amounts to a total rewrite.
>
> The point (1) is important from "no regression" point of view, and
> in a sense more important between the two because it is the first
> step in the overall transition plan.
>
> Even though there may be remaining issues in cvsimport-3 and cvsps3
> (what new piece of software don't have issues?), my limited
> observation of the exchanges between you and Eric suggests me that
> the problem is not something that requires a total rewrite of how
> cvsimport-3 works, so I do not expect the point (2) to be true,
> either, but if I am mistaken, please let me know.
ESR's cvsimport.py in the cvsps repository has no fixes over what's
here. I think his comment in [1] indicates that he won't do any more
work on git-cvsimport.
[1] http://article.gmane.org/gmane.comp.version-control.git/214057
In my opinion the incremental import support really is substantially
worse in cvsimport-3 than cvsimport-2. cvsimport-2 looks at the output
of git-for-each-ref to calculate the dates from which to continue each
branch. cvsps cannot be told this information and so the cvsimport-3
script just takes the date of the last commit on the current branch.
On top of that, the incremental switch to cvsps-3 just causes it to
output:
from: refs/heads/branch^0
on the first commit for each branch, which I can't see working if a new
branch is created in CVS.
> By advancing the topic to 'next', we will give people a more solid
> (read: not getting rewound) foundation to work with than "if you are
> really interested, grab the tip of 'pu', replace it with even newer
> copy from Eric's repository and try it out", so that more people can
> help us polish the scaffolding to let us ship two versions and also
> find issues in the new cvsimport-3 and help fixing them. At least,
> that is what I've been hoping.
That's what I've done and it's convinced me that cvsps-3 is not ready
for use with incremental imports as it stands.
> I could stop at the first three patches, that is, introducing the
> version switch wrapper that switches between cvsps2+cvsimport-2
> combo and nothing, and then let you and Eric redo the "start adding
> cvsps 3.x support" and later patches when cvsimport-3 is ready.
> That would give you a larger lattitude to rework cvsimport-3. Is
> that preferrable?
My preference would be for something like this, possibly with an
expanded examples section showing how to pipe the output of cvsps-3 or
cvs2git into git-fast-import:
-- >8 --
diff --git a/Documentation/git-cvsimport.txt b/Documentation/git-cvsimport.txt
index 9d5353e..20b846e 100644
--- a/Documentation/git-cvsimport.txt
+++ b/Documentation/git-cvsimport.txt
@@ -18,6 +18,11 @@ SYNOPSIS
DESCRIPTION
-----------
+*WARNING:* `git cvsimport` uses cvsps version 2, which is considered
+deprecated; it does not work with cvsps version 3 and later. If you are
+performing a one-shot import of a CVS repository consider using cvsps-3,
+cvs2git or parsecvs directly.
+
Imports a CVS repository into git. It will either create a new
repository, or incrementally import into an existing one.
-- 8< --
John
next prev parent reply other threads:[~2013-01-23 9:29 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-22 22:44 What's cooking in git.git (Jan 2013, #08; Tue, 22) Junio C Hamano
2013-01-22 23:45 ` John Keeping
2013-01-23 0:11 ` Junio C Hamano
2013-01-23 9:28 ` John Keeping [this message]
2013-01-23 13:26 ` Chris Rorvick
2013-01-23 13:55 ` John Keeping
2013-01-23 17:13 ` Junio C Hamano
2013-01-23 21:12 ` John Keeping
2013-01-24 5:04 ` Junio C Hamano
2013-01-24 19:18 ` [PATCH] git-cvsimport.txt: cvsps-2 is deprecated John Keeping
2013-01-24 20:04 ` Junio C Hamano
2013-01-24 20:13 ` John Keeping
2013-01-24 20:58 ` Junio C Hamano
2013-01-25 4:55 ` What's cooking in git.git (Jan 2013, #08; Tue, 22) Chris Rorvick
2013-01-25 9:09 ` John Keeping
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=20130123092858.GJ7498@serenity.lan \
--to=john@keeping.me.uk \
--cc=chris@rorvick.com \
--cc=esr@thyrsus.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.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).