Re: CVS import [SOLVED]
- From
Ferry Huberts (Pelagic) <ferry.huberts@pelagic.nl>
- Date
- Feb 20, 2009, 16:25 UTC
- Message-ID
- <32886.77.61.241.211.1235147143.squirrel@hupie.xs4all.nl>
- In-Reply-To
- <20090220152849.GA3826@coredump.intra.peff.net>
I replied in the thread with something comparable: http://article.gmane.org/gmane.comp.version-control.git/110358
My suggestion is make sure that safecrlf is set to false (see the end part of the mail)
Ferry
On Fri, February 20, 2009 16:28, Jeff King wrote:
Show 53 quoted lines
> On Mon, Feb 16, 2009 at 09:59:29PM +0100, Johannes Schindelin wrote:
>
>> > I'm working on it now, and did some more testing: it's actually the
>> > safecrlf setting, not the autocrlf option.
>>
>> Oh. That probably means that cvsimport gets confused by the extra
>> warnings.
>>
>> However, I think it is not correct to run cvsimport with autocrlf set to
>> anything than false anyway (and safecrlf would not trigger then, right?).
>>
>> So IMHO the solution is still to force autocrlf off.
>
> I don't think that's right. What is happening is that git-hash-object is
> barfing, and git-cvsimport is not properly detecting the error.
> something like this (untested) would make that better:
>
> diff --git a/git-cvsimport.perl b/git-cvsimport.perl
> index e439202..65e7990 100755
> --- a/git-cvsimport.perl
> +++ b/git-cvsimport.perl
> @@ -926,6 +926,7 @@ while (<CVS>) {
> my $sha = <$F>;
> chomp $sha;
> close $F;
> + $? and die "hash-object reported failure";
> my $mode = pmode($cvs->{'mode'});
> push(@new,[$mode, $sha, $fn]); # may be resurrected!
> }
>
> But the problem is not autocrlf. It is that the combination of "autocrlf
> = input" and "safecrlf" is nonsensical. Just try this:
>
> $ git init
> $ git config core.autocrlf input
> $ git config core.safecrlf true
> $ printf 'DOS\r\n' >file
> $ git add file
> fatal: CRLF would be replaced by LF in file.
>
> which makes sense. SafeCRLF is about making sure that the file will be
> the same on checkin and checkout. But it won't, because we are only
> doing CRLF conversion half the time.
>
> So the best workaround is disabling safecrlf, which makes no sense with
> his autocrlf setting. But I also think safecrlf could be smarter by
> treating autocrlf=input as autocrlf=true. That is, we don't care if in
> our _particular_ config it will come out the same; we care about whether
> one could, if so inclined, get the CRLF's back to create a byte-for-byte
> identical object.
>
> -Peff
>