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]].