I consider switching our company's entire CVS repository to SVN. One of the
most compelling reasons for this is SVN's support for directory versioning
and copying of files / directories. Our CVS repository is currently on a
Windows 2000 machine.
Here are a few observations:
- The cvs2svn script did not work. After searching the list, I found a patch
that fixes problems when files have first been added on a branch. Still, the
script failed at the last stage, because it tried to add files that have
already be added earlier during the same import, or it tried to change files
that have not been added. I manually fixed the "add" and "modify" actions,
and managed to complete the import. The only problem: only empty files have
been imported. The directory structure is ok, but all files are empty...
Anyway, I went on and manually moved some key revisions over to SVN by
exporting from CVS and then importing form SVN (I had to write a small
script to do that. The Python script you provide for updating vendor
releases does not work under Windows).
- I did manage to compile the python bindings under Windows, so svnshell.py
works. Great !
Ok, now I have a nice SVN repository that at the top level looks like this:
I already have some stuff in all directories. But I can't seem to find how
to obtain a list of all revisions for a given file. Let's say I imported
test.txt under /vendor. Then I copied it to /trunk and modified it. How can
I see, given /vendor/test.txt, that this file has been copied and modified ?
What would be really useful, is a way to obtain a revision tree for a given
file. Something that ressembles WinCVS' graph feature (not necessarely
graphically). As it is now, it seams as one has to remember what's in the
repository, and where things have been copied to.
Also, I found that 'svn diff' is very picky -- either I know the correct
release numbers, or I have to start guessing. Even 'svnshell.py' does not
seem to report the correct revision numbers. In the above /vendor directory,
I used 'setrev 27' to switch to the youngest revision. Indeed, "test.txt"'s
revisionis shown as 27. Then I do a 'setrev 26'. Now, "test.txt"'s revision
is 24 ??? Why ? And when I request a diff -r 24:27, it doesn not work, but
diff -r 26:27 does. How am I supposed to find the revision number 26, since
it isn't displayed anywhere...?
To unsubscribe, e-mail: email@example.com
For additional commands, e-mail: firstname.lastname@example.org
Received on Wed May 14 19:25:57 2003