From c7d0fb37dc1dc2122163694ed59f1eb762d36fc4 Mon Sep 17 00:00:00 2001 From: mhagger Date: Thu, 8 Apr 2010 19:36:14 +0000 Subject: [PATCH] Document the contrib/renumber_branch.py script and its uses. Patch by: Jon Foster git-svn-id: http://cvs2svn.tigris.org/svn/cvs2svn/trunk@5112 be7e6eca-30d4-0310-a8e5-ac0d63af7087 --- contrib/renumber_branch.py | 0 www/faq.html | 58 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) mode change 100644 => 100755 contrib/renumber_branch.py diff --git a/contrib/renumber_branch.py b/contrib/renumber_branch.py old mode 100644 new mode 100755 diff --git a/www/faq.html b/www/faq.html index eeef3e80..e1b46a1b 100644 --- a/www/faq.html +++ b/www/faq.html @@ -95,6 +95,10 @@ command '['co', '-q', '-x,v', '-p1.1', '-kk', '/home/cvsroot/myfile,v']' failed" in pass 8. +
  • Vendor branches created with + "cvs import -b <branch number>" are not correctly + handled.
  • + @@ -975,6 +979,60 @@ installed and use cvs2svn's --use-cvs option.

    +

    Vendor + branches created with "cvs import -b <branch number>" + are not correctly handled.

    + +

    Normally, people using "cvs import" don't specify the +"-b" flag. cvs2svn handles this normal case fine.

    + +

    If you have a file which has an active vendor branch, i.e. +there have never been any trunk commits but only "cvs imports" onto +the vendor branch, then cvs2svn will handle this fine. (Even if +you've used the "-b" option to specify a non-standard branch +number).

    + +

    If you've used "cvs import -b <branch number>", you didn't +specify the standard CVS vendor branch number of 1.1.1, and there +has since been a commit on trunk (either a modification or delete), +then your history has been damaged. This isn't cvs2svn's fault. +CVS simply doesn't record the branch number of the old vendor branch, +it assumes it was 1.1.1. You will even get the wrong results from +"cvs checkout -D" with a date when the vendor branch was active.

    + +

    Symptoms of this problem can include:

    + + + +

    (Note: There are other possible causes for these symptoms, don't +assume you have a non-standard vendor branch number just because +you see these symptoms).

    + +

    The way to solve this problem is to renumber the vendor branch to +the standard 1.1.1 branch number. This has to be done before you run +cvs2svn. To help you do this, there is the "renumber_branch.py" +script in the "contrib" directroy of the cvs2svn distribution.

    + +

    The typical usage, assuming you used "cvs import -b 1.1.2 ..." +to create your vendor branch, is:

    +
    +      contrib/renumber_branch.py 1.1.2 1.1.1 repos/dir/file,v
    +
    +

    You should only run this on a copy of your CVS repository, +as it edits the repository in-place. You can fix a single file or a +whole directory tree at a time.

    + +

    The script will check that the 1.1.1 branch doesn't already exist; +if it does exist then it will fail with an error message.

    + + +

    Getting help:

    How do I get -- 2.11.4.GIT