I'm in the midst of evaluating various SCM systems and have been using
tailor to move a project between them. I've had good luck with
exporting from my legacy system, CVS, but not with Subversion. I've
read of cases where this has been done, so I'm not certain why it's not
working in my case. I'm using
python2.4.2
tailor-0.9.20
mercurial 0.7
bzr 0.6.2
I've converted my original CVS module to SVN using cvs2svn. I can
successfully checkout code from the SVN repository.
Here's my tailor.config:
[DEFAULT]
verbose = True
encoding-errors-policy = ignore
start-revision = INITIAL
[cvs2hg]
source = cvs:source
target = hg:target
root-directory = cvs2hg
[cvs2hglib]
source = cvs:source
target = hglib:target
root-directory = cvs2hglibibiwbuog
[svn2hg]
source = svn:source
target = hg:target
root-directory = svn2hg
[svn2hglib]
source = svn:source
target = hglib:target
root-directory = svn2hglib
patch-name-format =
[svn2bzr]
source = svn:source
target = bzr:target
root-directory = svn2bzr
patch-name-format =
[cvs2bzr]
source = cvs:source
target = bzr:target
root-directory = cvs2bzr
patch-name-format =
[cvs:source]
repository = /proj/axaf/simul/src/cvs
module = enwtsum
[svn:source]
repository = svn://localhost/home/dj/tmp/svn
module = enwtsum
use-limit = False
[hglib:target]
[hg:target]
[bzr:target]
The following conversions worked (meaning that after a branch/clone of
the target repository I saw source code in the cloned repository):
cvs -> hg
cvs -> hglib
Both svn -> hg and svn -> hglib failed, resulting in empty repositories.
Here are snippets of the cvs2hg and svn2hg outputs illustrating that the
hg add command isn't being invoked in the latter:
cvs2hg:
12:08:44 [I] Applying pending upstream changesets
12:08:44 [I] Changeset "1999-02-05 22:46:49 by dj"
12:08:44 [I] Log message: Initial revision
12:08:44 [I] /data/pelf0/tmp/dj/tailor-test/cvs2hg $ cvs -d
/proj/axaf/simul/src/cvs -q update -d -r 1.1 GNUmakefile
12:08:45 [I] [Ok]
12:08:45 [I] /data/pelf0/tmp/dj/tailor-test/cvs2hg $ cvs -d
/proj/axaf/simul/src/cvs -q update -d -r 1.1 enwtsum.par
12:08:46 [I] [Ok]
12:08:46 [I] /data/pelf0/tmp/dj/tailor-test/cvs2hg $ cvs -d
/proj/axaf/simul/src/cvs -q update -d -r 1.1 gparam.c
12:08:47 [I] [Ok]
12:08:47 [I] /data/pelf0/tmp/dj/tailor-test/cvs2hg $ cvs -d
/proj/axaf/simul/src/cvs -q update -d -r 1.1 version.h
12:08:48 [I] [Ok]
12:08:48 [I] /data/pelf0/tmp/dj/tailor-test/cvs2hg $ hg add GNUmakefile
enwtsum.par gparam.c version.h
12:08:48 [I] [Ok]
12:08:48 [I] /data/pelf0/tmp/dj/tailor-test/cvs2hg $ hg commit -u dj -l
/tmp/tailor0msbWnhg -d "918272809 0"
12:08:48 [I] [Ok]
12:08:48 [I]
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
svn2hg:
12:04:19 [I] Applying pending upstream changesets
12:04:19 [I] Changeset "2"
12:04:19 [I] Log message: Initial revision
12:04:19 [I] /data/pelf0/tmp/dj/tailor-test/svn2hg $ svn update
--revision 2 .
12:04:22 [I] [Ok]
12:04:22 [I] /data/pelf0/tmp/dj/tailor-test/svn2hg $ hg commit -u dj -l
/tmp/tailorerBXRahg -d "918272809 0"
12:04:22 [I] [Ok]
12:04:22 [I]
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
In the svn2hglib output (not shown), the message "nothing changed" is
output where in cvs2hglib (not shown) a list of files was output.
Both cvs -> bzr and svn -> bzr failed with similar messages:
12:09:44 [C] Could not import checked out tree in
"/data/pelf0/tmp/dj/tailor-test/cvs2bzr"!
Traceback (most recent call last):
File "/proj/axaf/bin/tailor", line 33, in ?
main()
File
"/proj/axaf/pkgs/tailor-0.9.20/lib/python2.4/site-packages/vcpx/tailor.py",
line 332, in main
tailorizer()
File
"/proj/axaf/pkgs/tailor-0.9.20/lib/python2.4/site-packages/vcpx/tailor.py",
line 142, in __call__
self.bootstrap()
File
"/proj/axaf/pkgs/tailor-0.9.20/lib/python2.4/site-packages/vcpx/tailor.py",
line 78, in bootstrap
revision=='INITIAL')
File
"/proj/axaf/pkgs/tailor-0.9.20/lib/python2.4/site-packages/vcpx/dualwd.py",
line 101, in importFirstRevision
self.target.importFirstRevision(source_repo, changeset, initial)
File
"/proj/axaf/pkgs/tailor-0.9.20/lib/python2.4/site-packages/vcpx/target.py",
line 482, in importFirstRevision
self._initializeWorkingDir()
File
"/proj/axaf/pkgs/tailor-0.9.20/lib/python2.4/site-packages/vcpx/target.py",
line 513, in _initializeWorkingDir
self._addSubtree('.')
File
"/proj/axaf/pkgs/tailor-0.9.20/lib/python2.4/site-packages/vcpx/bzr.py", line
153, in _addSubtree
from bzrlib.add import smart_add_tree
ImportError: cannot import name smart_add_tree
I then pulled down the latest (at the time) development version of bzr,
bzr-integration_0.7+200512282045.tar.gz. This time the conversions
proceeded without errors. The cvs -> bzr conversion was successful,
while the svn -> bzr conversion resulted in an empty repository, but
it did have the correct log entries!
I'd appreciate any help on getting things going.
Thanks,
Diab
_______________________________________________
Tailor mailing list
[email protected]
http://lists.zooko.com/mailman/listinfo/tailor