version 1.5, 2010/01/16 21:53:42
|
version 1.6, 2010/01/20 13:05:55
|
Line 32 please fill in
|
Line 32 please fill in
|
|
|
## Conversion experiences |
## Conversion experiences |
|
|
|
### git |
|
|
Conversion of all modules to git succeeded using fromcvs togit. The resulting git repository of src contains several errors where files have a wrong version (eg in hunt/Makefile the contents of the file on the vendor branch appear as tip of the master branch, which is quite wrong). |
Conversion of all modules to git succeeded using fromcvs togit. The resulting git repository of src contains several errors where files have a wrong version (eg in hunt/Makefile the contents of the file on the vendor branch appear as tip of the master branch, which is quite wrong). |
There have been no reports of errors in the other modules; this may be due to a lack of testing. |
There have been no reports of errors in the other modules; this may be due to a lack of testing. |
|
|
|
### hg |
|
|
|
Conversion of src failed. Afair the rest worked when using Mercurial 1.3.*. Alas, fromcvs tohg is not compatible with Mercurial 1.4 which is in pkgsrc now and is the version to use with Python 2.6 (afair). Two identified problems: |
|
<pre> |
|
self.ui = ui.ui(interactive = False) |
|
</pre> |
|
wants to be |
|
<pre> |
|
self.ui = ui.ui() |
|
self.ui.setconfig('ui', 'interactive', 'off') |
|
</pre> |
|
in /usr/pkg/share/fromcvs/tohg.py line 10 (easily fixed, obviously) |
|
and |
|
<pre> |
|
n = self.hgrepo.commit(files = files, |
|
text = text, |
|
user = user, |
|
date = "%s 0" % date, |
|
p1 = p1, |
|
p2 = p2, |
|
extra = {'branch': branch}) |
|
</pre> |
|
needs to be replaces with something that works with the 1.4 commit that looks like this: |
|
<pre> |
|
def commit(self, text="", user=None, date=None, match=None, force=False, |
|
editor=False, extra={}): |
|
</pre> |
|
which is where I remembered that I wasn't planning to learn Python this week. |
|
|
|
Next try: hg convert on pkgsrc |
|
<pre> |
|
--- /usr/pkg/lib/python2.6/site-packages/hgext/convert/cvsps.py 2009-12-02 01:30:45.000000000 +0000 |
|
+++ /tmp/cvsps.py 2010-01-20 12:52:11.000000000 +0000 |
|
@@ -271,14 +271,14 @@ |
|
tags[rev].append(match.group(1)) |
|
branchmap[match.group(1)] = match.group(2) |
|
|
|
- elif re_31.match(line): |
|
+ elif re_31.match(line) and re_50.match(peek): |
|
state = 5 |
|
elif re_32.match(line): |
|
state = 0 |
|
|
|
elif state == 4: |
|
# expecting '------' separator before first revision |
|
- if re_31.match(line): |
|
+ if re_31.match(line) and re_50.match(peek): |
|
state = 5 |
|
else: |
|
assert not re_32.match(line), _('must have at least ' |
|
@@ -357,7 +357,7 @@ |
|
|
|
elif state == 8: |
|
# store commit log message |
|
- if re_31.match(line): |
|
+ if re_31.match(line) and re_50.match(peek): |
|
state = 5 |
|
store = True |
|
elif re_32.match(line): |
|
</pre> |
|
helps it to cope with the output of cvs rlog -N -r1.66 pkgsrc/databases/rrdtool/Makefile (that's the easy one) |
|
but then it tries to parse the output of (eg) cvs rlog -N -r1.19 pkgsrc/graphics/dcraw/Makefile and it's not clear |
|
to me how it could hope to get that one right just from cvs rlog, and all alternatives are going to be rather tedious |
|
and I'm still not planning to learn Python this week. |