Re: Files on branches without commits

Roman Shterenzon <[email protected]> Tue, 5 Jan 2010 08:10:45 -0800 (PST)
Newsgroups gmane.comp.version-control.subversion.cvs2svn.devel
Message-ID <[email protected]>
Yes, you are right. I just tried, and the 2.3.x branch converts the tree fine.
However, the trunk has this bug I was writing about, and most of the files are missing from the resulting branch.

Thanks,
--Roman


----- Original Message ----
From: Michael Haggerty <[email protected]>
To: Roman Shterenzon <[email protected]>
Cc: [email protected]; [email protected]
Sent: Fri, January 1, 2010 8:12:40 AM
Subject: Re: Files on branches without commits

Michael Haggerty wrote:
> Roman Shterenzon wrote:
>> Thank you for your prompt reply. Yes, I was talking about a real
>> world scenario, like I said, I tried to create a git mirror of squid2
>> sources. You can get a mirror of squid's CVS with the following
>> commands.
>>
>> rsync -avz rsync://cvs.squid-cache.org/cvsroot/squid . rsync -avz
>> rsync://cvs.squid-cache.org/cvsroot/CVSROOT .
>>
>> Then, I changed the original cvs2git-example.options to have 'latin1'
>> instead of 'ascii' for log, author and filename decoder and set the
>> path to the CVS repo.
>>
>> There were two problems: 1. The pass 16 failed with the following (I
>> have the complete typescript with the logging level set to debug): 
>> File "./cvs2git", line 70, in <module> 
>> git_main(os.path.basename(sys.argv[0]), sys.argv[1:]) File
>> "/home/roman/cvs2svn-trunk/cvs2svn_lib/main.py", line 109, in
>> git_main main(progname, run_options, pass_manager) File
>> "/home/roman/cvs2svn-trunk/cvs2svn_lib/main.py", line 86, in main 
>> pass_manager.run(run_options) File
>> "/home/roman/cvs2svn-trunk/cvs2svn_lib/pass_manager.py", line 181, in
>> run the_pass.run(run_options, stats_keeper) File
>> "/home/roman/cvs2svn-trunk/cvs2svn_lib/passes.py", line 1739, in run 
>> svn_commit.output(Ctx().output_option) File
>> "/home/roman/cvs2svn-trunk/cvs2svn_lib/svn_commit.py", line 374, in
>> output output_option.process_tag_commit(self) File
>> "/home/roman/cvs2svn-trunk/cvs2svn_lib/git_output_option.py", line
>> 473, in process_tag_commit mark = self._get_source_mark(source_lod,
>> source_revnum) File
>> "/home/roman/cvs2svn-trunk/cvs2svn_lib/git_output_option.py", line
>> 339, in _get_source_mark (revnum, mark) = modifications[i] 
>> IndexError: list index out of range
> 
> The first problem I see when trying to convert your repository is a
> KeyError.  This problem was introduced by trunk r4952.  It is
> reproducible using the attached CVS repo with the following command:
> 
>     ./cvs2git --blobfile=squid.blob --dumpfile=squid.dump \
>         --username=cvs2git ../squid-cvs-shrunk
> 
> It fails with
> 
>     KeyError: Branch('SQUID_1_1_branch')<3>
> 
> FWIW, the attached repository converts fine using cvs2svn and with the
> 2.3.x branch of cvs2git.
> 
> maxb: mind taking a look at this?

I also just confirmed that the whole squid repository can be converted
with the 2.3.x version of cvs2git, and that the resulting git contents
of branch SQUID_2_7 are identical to the CVS contents of that branch
(except for a trivial change in how an RCS keyword is expanded).

Michael

------------------------------------------------------
http://cvs2svn.tigris.org/ds/viewMessage.do?dsForumId=1667&dsMessageId=2434953

To unsubscribe from this discussion, e-mail: [[email protected]].