Jeremy Barnes wrote:
Hi,
I recently downloaded Tailor to convert a very large (~2 million lines of code
with 6 years of revision history and about 100,000 discrete CVS patches)
CVS repository to Mercurial. I used the cvs backend for cvs and the hg
backend for mercurial. It was tailor version 0.9.22.
Firstly, thanks for an excellent tool!
Thank you!
I had a couple of small problems with number 1:
- There is a copy-and-paste typo in the mercurial backend:
diff -r tailor-0.9.22/vcpx/hg.py ../tailor-0.9.22/vcpx/hg.py
20c20
< class HglibWorkingDir(UpdatableSourceWorkingDir,
SyncronizableTargetWorkingDir):
---
class HgWorkingDir(UpdatableSourceWorkingDir, SyncronizableTargetWorkingDir):
This was already fixed in current code.
- We happen to have a bunch of $Id:$-type tags in our CVS repository for which
there are a lot of commits in the repository. If we try to merge changes
between the version on the branch and the HEAD, then we get mostly spurious
conflicts (files that changed in both, and can be merged, except for the ID
field).
To avoid this, I added the "-kk" flag to the CVS update and checkout
commands,
which normalizes these fields:
Ok, I added a new setting for CVS backends ("freeze-keywords") that does
just that.
- CVS wants to make sure that the second changes before it exits (which means
only one operation per second, which is frustrating with a hundred
thousand CVS changesets). To avoid this, I rsync'd a new copy of the
repository (so that there was no possibility of corruption) and then
modified CVS to not at the end.
I'm not sure what this mean: I see you modified CVS source, but it's not
clear what the impact on tailor is. Could you please write down a note
for the README or the wiki?
I had more problems with number 2:
- I had accidentally put a "/" on the end of the CVS module name, which meant
the first character of the path was truncated (eg, I got
"pplications/main.cc" instead of "applications/main.cc". I fixed this by
removing the "/", but it would be good to put this in the doco or
(preferably) check for it and remove it.
Done.
- CVS has a bugs with the rlog command when using -r:branch syntax, which
leads to changesets on the wrong branch being listed in the log. For
example:
Applied.
I hope to cut a 0.9.23 later this afternoon.
Again, thanks a lot for your kind words and bug hunting&fixing!
ciao, lele.
_______________________________________________
Tailor mailing list
[email protected]
http://lists.zooko.com/mailman/listinfo/tailor