[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Vendor Branches
From: |
Kaz Kylheku |
Subject: |
Re: Vendor Branches |
Date: |
Sat, 4 Jan 2003 20:45:24 -0800 (PST) |
On Sat, 4 Jan 2003, John Birtley wrote:
> Date: Sat, 4 Jan 2003 20:05:46 -0000
> From: John Birtley <address@hidden>
> To: address@hidden
> Subject: Vendor Branches
>
> I wonder if anybody can help me with the following problem regarding
> multiple vendor branches.
Meta-CVS has a feature like vendor branching, but sane. The ``grab''
command is conceptually similar to import, but it uses an ordinary
branch (that you create beforehand). Thus it can keep track of external
patches relative to any baseline you choose. Moreover, grab figures
file moves and renames, as well as symbolic link reconfigurations.
Because Meta-CVS keeps track of repeated merges from the same source,
merging the results of successive grabs is painfully simple:
mcvs grab -r <vendor-branch> <module>
# verify renames, look at diffs, etc.
mcvs ci
mcvs sw <integration-branch> # switch to integration branch
mcvs merge <vendor-branch> # merge from vendor-branch
# resolve conflicts, verify
mcvs ci
Grab doesn't do anything to the repository; it converts your working
directory into a sandbox of the specified module, containing the
would-be import as local changes.
> cvs import <as above>
> cd /tmp
> cvs checkout -jINTEGRATION -rVENDOR_LATEST_ddmmyyyy repository
> cvs commit
Merging requires two -j options, except when it's the first time it's
done from a branch to the trunk. You must use tags to keep track of the
last merged point.