info-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Vendor Branches


From: John Birtley
Subject: Vendor Branches
Date: Sat, 4 Jan 2003 20:05:46 -0000

I wonder if anybody can help me with the following problem regarding multiple vendor branches.
 
I regularly receive code drops from vendors in the form of tarballs.  I want to untar them and then `cvs import' to the appropriate vendor branch.  Once they are on the vendor branch, I want to tag them and run some unit tests.  If the unit tests pass, I want to tag them again, marking them as ready for integration, sort of:
 
    tar xvf vendor.tar
    cd vendor
    cvs import -b 1.1.3 -m "Latest vendor drop" repository/vendor VENDOR VENDOR_LATEST_ddmmyyyy
    if (unit tests ok)
        cvs rtag -r VENDOR_LATEST_ddmmyyyy INTEGRATION_READY repository/vendor
    then
    fi
 
No problems there so far.
 
The problem is that I want to be able to copy the latest version on the vendor branch to the latest version on the INTEGRATION branch, since all integration testing and tagging is to be done from this branch, i.e.:
 
Before:
 
                  +-------+
                  |  1.1  |
                  +-------+
                           \
                            \
                             \
                              \
                               /--------\
                               | VENDOR |
                               \----+---/
                                    |
                                    |
                                    |
                               +----+----+
                               | 1.1.3.1 |
                               +----+----+
                                    |
                               +----+----+
                               | 1.1.3.2 |    VENDOR_LATEST_ddmmyyyy
                               +----+----+    INTEGRATION_READY
   
 
After:
 
                  +-------+
                  |  1.1  |
                  +---+---+
                      |    \
                      |     \
                      |      \
                      |       \
                      |        /--------\
                      |        | VENDOR |
                      |        \----+---/
                      |             |
                      |             |
                      |             |
                      |        +----+----+
                      |        | 1.1.3.1 |
                      |        +----+----+
                      |             |
                      |        +----+----+
                      |        | 1.1.3.2 |    VENDOR_LATEST_ddmmyyyy
                      |        +----+----+    INTEGRATION_READY
                      |
                      | 
                  +---+---+
                  |  1.2  |   MERGED-VENDOR_LATEST_ddmmyyyy
                  +---+---+   INTEGRATION
 
I have tried various permutations:
 
    cvs import <as above>
    cd /tmp
    cvs checkout -rVENDOR_LATEST_ddmmyyyy repository
    cvs update -A
    cvs commit
 
and
 
    cvs import <as above>
    cd /tmp
    cvs checkout -jINTEGRATION -rVENDOR_LATEST_ddmmyyyy repository
    cvs commit
 
But the `commit' part either does nothing, or reports 'up-to-date check' failures.
 
Is what I am hoping to do impossible?  Anybody dealt with a similar scenario?
 
Many thanks IA.
 
John.
 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]