Re: [PATCH] Replace git-cvsimport with a rewrite that fixes major bugs.

2013-01-03 Thread Michael Haggerty
On 01/03/2013 04:22 PM, Junio C Hamano wrote: Antoine Pelisse apeli...@gmail.com writes: Doesn't Python come with a standard subprocess module that lets you spawn external programs safely, similar to the way Perl's list form open(), e.g. open($fh, -|, 'git', @args), works? ... and of

Re: [PATCH] Replace git-cvsimport with a rewrite that fixes major bugs.

2013-01-02 Thread Jonathan Nieder
Hi, Eric S. Raymond wrote: Junio C Hamano gits...@pobox.com: So..., is this a flag-day patch? After this is merged, users who have been interoperating with CVS repositories with the older cvsps have to install the updated cvsps before using a new version of Git that ships with it? Yes,

Re: [PATCH] Replace git-cvsimport with a rewrite that fixes major bugs.

2013-01-02 Thread Eric S. Raymond
Jonathan Nieder jrnie...@gmail.com: Speaking with my Debian packager hat on: the updated cvsps is not available in Debian. git cvsimport is, and it has users that report bugs from time to time. With this change, I would either have to take on responsibility for maintenance of the cvsps

Re: [PATCH] Replace git-cvsimport with a rewrite that fixes major bugs.

2013-01-02 Thread Eric S. Raymond
Jonathan Nieder jrnie...@gmail.com: The former is already loudly advertised in the package description and manpage, at least lets you get work done, and works fine for simple repositories with linear history. Two of the three claims in this paragraph are false. The manual page does not tell

Re: [PATCH] Replace git-cvsimport with a rewrite that fixes major bugs.

2013-01-02 Thread Jonathan Nieder
Eric S. Raymond wrote: Jonathan Nieder jrnie...@gmail.com: The former is already loudly advertised in the package description and manpage, at least lets you get work done, and works fine for simple repositories with linear history. Two of the three claims in this paragraph are false. Give

Re: [PATCH] Replace git-cvsimport with a rewrite that fixes major bugs.

2013-01-02 Thread Martin Langhoff
First of all, I am at the same time a sad, nostalgic, and very happy that old cvsimport is getting replaced. On Wed, Jan 2, 2013 at 11:18 AM, Eric S. Raymond e...@thyrsus.com wrote: Two of the three claims in this paragraph are false. The manual page does not tell you what is true, which is

Re: [PATCH] Replace git-cvsimport with a rewrite that fixes major bugs.

2013-01-02 Thread Eric S. Raymond
Martin Langhoff martin.langh...@gmail.com: Replacement with something more solid is welcome, but until you are extremely confident of its handling of legacy setups... I would still provide the old cvsimport, perhaps in contrib. I am extremely confident. I built a test suite so I could be. --

Re: [PATCH] Replace git-cvsimport with a rewrite that fixes major bugs.

2013-01-02 Thread Andreas Schwab
Eric S. Raymond e...@thyrsus.com writes: Two of the three claims in this paragraph are false. The manual page does not tell you what is true, which is that old cvsps will fuck up every branch by putting the root point at the wrong place. That doesn't look like being a widespread problem, or

Re: [PATCH] Replace git-cvsimport with a rewrite that fixes major bugs.

2013-01-02 Thread Thomas Berg
On Wed, Jan 2, 2013 at 5:41 PM, Eric S. Raymond e...@thyrsus.com wrote: Martin Langhoff martin.langh...@gmail.com: Replacement with something more solid is welcome, but until you are extremely confident of its handling of legacy setups... I would still provide the old cvsimport, perhaps in

Re: [PATCH] Replace git-cvsimport with a rewrite that fixes major bugs.

2013-01-02 Thread Junio C Hamano
Eric S. Raymond e...@thyrsus.com writes: If you try to use new git-cvsimport with old cvsps, old cvsps will complain of an invalid argument and git-cvsimport will quit. I see an opening for smoother transition here. Like it or not, you cannot force distros to ship with cvsps 3.0 when we ship

Re: [PATCH] Replace git-cvsimport with a rewrite that fixes major bugs.

2013-01-02 Thread Junio C Hamano
Eric S. Raymond e...@thyrsus.com writes: Junio C Hamano gits...@pobox.com: As your version already knows how to detect the case where cvsps is too old to operate with it, I imagine it to be straight-forward to ship the old cvsimport under obscure name, git cvsimport--old or something, and

Re: [PATCH] Replace git-cvsimport with a rewrite that fixes major bugs.

2013-01-02 Thread Martin Langhoff
On Wed, Jan 2, 2013 at 11:41 AM, Eric S. Raymond e...@thyrsus.com wrote: Martin Langhoff martin.langh...@gmail.com: Replacement with something more solid is welcome, but until you are extremely confident of its handling of legacy setups... I would still provide the old cvsimport, perhaps in

Re: [PATCH] Replace git-cvsimport with a rewrite that fixes major bugs.

2013-01-02 Thread Eric S. Raymond
Martin Langhoff martin.langh...@gmail.com: I dealt with enough CVS repos to see that the branch point could be ambiguous, and that some cases were incurably ugly and ambiguous. You are quite right, but you have misintepreted the subject of my confidence. I am under no illusion that the new

Re: [PATCH] Replace git-cvsimport with a rewrite that fixes major bugs.

2013-01-02 Thread Martin Langhoff
On Wed, Jan 2, 2013 at 5:28 PM, Eric S. Raymond e...@thyrsus.com wrote: Martin Langhoff martin.langh...@gmail.com: I dealt with enough CVS repos to see that the branch point could be ambiguous, and that some cases were incurably ugly and ambiguous. You are quite right, but you have

Re: [PATCH] Replace git-cvsimport with a rewrite that fixes major bugs.

2013-01-02 Thread Chris Rorvick
On Tue, Jan 1, 2013 at 11:26 AM, Eric S. Raymond e...@thyrsus.com wrote: diff --git a/git-cvsimport.py b/git-cvsimport.py new file mode 100755 index 000..6407e8a --- /dev/null +++ b/git-cvsimport.py @@ -0,0 +1,342 @@ +#!/usr/bin/env python +# +# Import CVS history into git +# +#

Re: [PATCH] Replace git-cvsimport with a rewrite that fixes major bugs.

2013-01-02 Thread Junio C Hamano
Chris Rorvick ch...@rorvick.com writes: outdir needs to be quoted in the formatted string, i.e.: %s | (cd '%s' /dev/null ... The issue is real, but I am afraid that the above is not sufficient because outdir can contain single quotes. I think other places that call out to external

Re: [PATCH] Replace git-cvsimport with a rewrite that fixes major bugs.

2013-01-02 Thread Antoine Pelisse
Doesn't Python come with a standard subprocess module that lets you spawn external programs safely, similar to the way Perl's list form open(), e.g. open($fh, -|, 'git', @args), works? You mean something like this: p1 = subprocess.Popen([backend.command()], stdout=subprocess.PIPE)

Re: [PATCH] Replace git-cvsimport with a rewrite that fixes major bugs.

2013-01-01 Thread Junio C Hamano
Eric S. Raymond e...@thyrsus.com writes: The combination of git-cvsimport and cvsps had serious problems. Among these were: (1) Analysis of branchy repos was buggy in multiple ways in both programs, leading to incorrect repo translations. (2) Even after a correct branch analysis, extra

Re: [PATCH] Replace git-cvsimport with a rewrite that fixes major bugs.

2013-01-01 Thread Eric S. Raymond
Junio C Hamano gits...@pobox.com: So..., is this a flag-day patch? After this is merged, users who have been interoperating with CVS repositories with the older cvsps have to install the updated cvsps before using a new version of Git that ships with it? Yes, they must install an updated

Re: [PATCH] Replace git-cvsimport with a rewrite that fixes major bugs.

2013-01-01 Thread Junio C Hamano
Eric S. Raymond e...@thyrsus.com writes: Junio C Hamano gits...@pobox.com: So..., is this a flag-day patch? After this is merged, users who have been interoperating with CVS repositories with the older cvsps have to install the updated cvsps before using a new version of Git that ships