Ziggy
2010-07-22 16:30:32 UTC
Hi guys,
I am having some trouble with checkout out files using a release tag and
hope someone here can help.
Basically my repository is structured like this
module1
- src
- jsp
- conf
module2
- src
- jsp
- conf
A release can include changes in either module1 or module2 or both. There
are several developers that could be working on any files in any of the
modules.
To work on a new release, we checkout the latest release (e.g. LIVE-REL-2.4)
using the following command
--
cvs checkout –r “LIVE-REL-2.4” moduleName
--
Note that we dont check out from trunc. The reason for this is that if you
checkout from trunc you are including files which other developers have
checked in but you dont want to include in the next release.
After we've checked out the latest release, we make the changes and check
back in the new files. For the delivery, we label all the new files we've
checked in with a bug specific tag.
--
cvs tag BUG434 file1
cvs tag BUG435 file2
--
We then apply a new label to every file that is on the current release.
--
cvs tag – r “LIVE-REL-2.4” “LIVE-REL-2.5”
--
We then add the new release tag for the new files we've checked in
--
cvs tag –r “BUG434” “LIVE-REL-2.5”
cvs tag –r “BIG435” “LIVE-REL-2.5”
--
The above ensures that the new release will include all the files from the
"latest delivered release" plus bug fixes that we want to include in the
release. To checkout the new release we just do this
--
cvs checkout –r “LIVE-REL-2.5” moduleName
--
There is a bit of a confusion as to whether this process actually work.
We've suddenly had people complain that they cant check in any new files if
they check out by tag. The error that is generated is shown below
--
sticky tag `LIVE-REL-2.5' for file `DatabaseFacade.java' is not a branch
--
I have been doing some reading on this error but i havent been able to find
a solution to it.
I am having some trouble with checkout out files using a release tag and
hope someone here can help.
Basically my repository is structured like this
module1
- src
- jsp
- conf
module2
- src
- jsp
- conf
A release can include changes in either module1 or module2 or both. There
are several developers that could be working on any files in any of the
modules.
To work on a new release, we checkout the latest release (e.g. LIVE-REL-2.4)
using the following command
--
cvs checkout –r “LIVE-REL-2.4” moduleName
--
Note that we dont check out from trunc. The reason for this is that if you
checkout from trunc you are including files which other developers have
checked in but you dont want to include in the next release.
After we've checked out the latest release, we make the changes and check
back in the new files. For the delivery, we label all the new files we've
checked in with a bug specific tag.
--
cvs tag BUG434 file1
cvs tag BUG435 file2
--
We then apply a new label to every file that is on the current release.
--
cvs tag – r “LIVE-REL-2.4” “LIVE-REL-2.5”
--
We then add the new release tag for the new files we've checked in
--
cvs tag –r “BUG434” “LIVE-REL-2.5”
cvs tag –r “BIG435” “LIVE-REL-2.5”
--
The above ensures that the new release will include all the files from the
"latest delivered release" plus bug fixes that we want to include in the
release. To checkout the new release we just do this
--
cvs checkout –r “LIVE-REL-2.5” moduleName
--
There is a bit of a confusion as to whether this process actually work.
We've suddenly had people complain that they cant check in any new files if
they check out by tag. The error that is generated is shown below
--
sticky tag `LIVE-REL-2.5' for file `DatabaseFacade.java' is not a branch
--
I have been doing some reading on this error but i havent been able to find
a solution to it.