From: Felipe Contreras Date: Mon, 06 May 2013 21:36:18 GMT Subject: Re: [PATCH 4/4] fast-import: only store commit objects Message-ID: In-Reply-To: On Mon, May 6, 2013 at 4:19 PM, Felipe Contreras wrote: > On Mon, May 6, 2013 at 10:18 AM, Junio C Hamano wrote: >> Michael Haggerty writes: >> >>> Yes, it can be handy to start loading the first "blobfile" in parallel >>> with the later stages of the conversion, before the second "dumpfile" is >>> ready. In that case the user needs to pass --export-marks to the first >>> fast-import process to export marks on blobs so that the marks can be >>> passed to the second fast-import via --import-marks. >>> >>> So the proposed change would break a documented use of cvs2git. >>> >>> Making the export of blob marks optional would of course be OK, as long >>> as the default is to export them. >> >> Thanks for a concise summary. Your use case fits exactly what >> Felipe conjectured as the nonexistent minority. > > Not true. cvs2git does *not* rely on the blobs being stored in a marks > file, because cvs2git does not rely on mark files at all. > >> An option that lets the caller say "I only care about marks on these >> types of objects to be written to (and read from) the exported marks >> file" would help Felipe's use case without harming your use case, >> and would be a sane and safe way to go. > > His case is not harmed at all. It's only the unfortunate command that > is mentioned in the documentation that didn't need to be mentioned at > all in the first place. > > It should be the other way around, if it's only this documentation > that is affected, we could add a switch for that particular command, > and the documentation should be updated, but it's overkill to add a > switch for one odd command in some documentation somewhere, it would > be much better to update the odd command to avoid using marks at all, > which is what the more appropriate command does, right below in the > same documentation. This would simplify the documentation, and obliterate the need to use mark files at all: diff -ur cvs2svn-2.4.0/www/cvs2git.html cvs2svn-2.4.0-mod/www/cvs2git.html --- cvs2svn-2.4.0/www/cvs2git.html 2012-09-22 01:49:55.000000000 -0500 +++ cvs2svn-2.4.0-mod/www/cvs2git.html 2013-05-06 16:33:12.070189985 -0500 @@ -355,14 +355,13 @@ fast-import:

-git fast-import --export-marks=../cvs2svn-tmp/git-marks.dat <
../cvs2svn-tmp/git-blob.dat
-git fast-import --import-marks=../cvs2svn-tmp/git-marks.dat <
../cvs2svn-tmp/git-dump.dat
+cat ../cvs2svn-tmp/git-blob.dat ../cvs2svn-tmp/git-dump.dat | git fast-import
 
-

On Linux/Unix this can be shortened to:

+

On Windows you should use type instead:

-cat ../cvs2svn-tmp/git-blob.dat ../cvs2svn-tmp/git-dump.dat | git fast-import
+type ../cvs2svn-tmp/git-blob.dat ../cvs2svn-tmp/git-dump.dat | git fast-import
 
Only in cvs2svn-2.4.0-mod/www: .cvs2git.html.swp -- Felipe Contreras