[cvsnt] Committing unmodified file after merge

Harrison, Andrew andy.harrison at anite.com
Thu Jan 29 10:13:28 GMT 2004


Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.


Hi,

We've only been using CVS for a little while and have a problem with
merging. The way we are working is that we have a "Main" branch in CVS which
is the latest 'stable' code, and each piece of development has it's own
"Dev" branch. Once the development is complete, or at an suitably stable
interim point, the Dev branch then gets merged into the Main branch. This
works fine. However, if there have been a number of changes in the Main
branch that the engineer wants to make use of then the Main branch can be
merged into the Dev branch. This too works ok. However, having merged
Main->Dev there is then a problem merging back again later from Dev->Main.
All the files that had been changed in the Main branch before the first
merge but not changed in the Dev branch get merged back again. CVS then
commits them and creates a new revision even though there is no change in
the file.

That's probably not very clear, so let me give an example...

File.c is on the Main branch with version 1.3.
A new development branch is started: Dev1
A new development branch is started: Dev2
File.c is changed in branch Dev1, new revision 1.3.1.1
Dev1 is merged into Main, new revision of file.c is 1.4
Engineer working on Dev2 decided he needs the changes that were made in
Dev1.
Main is merged into Dev2, new revision of file.c is 1.3.2.1
Later, with file.c unchanged in Dev2, Dev 2 is merged back into Main, new
revision of file.c is 1.5.

(MAIN)
  |
[1.3]----(DEV1)----(DEV2)
  |        |         |
  |    [1.3.1.1]     |
  |       /          |
[1.4]<---/           |
  |  \               |
  |   \--------->[1.3.2.1]
  |              /
[1.5]<----------/

The problem is that there is no difference between revision 1.4 and 1.5. CVS
correctly detects this on a normal modify-commit, but not on a merge-commit.
The -f (force commit) flag is not being used. Is there any way to stop these
redundant revisions other than committing each file by hand?

We are using WinCVS 1.3.13.2 Beta 13 Build 2 and CVS-NT v2.0.20.

Thanks for any help,

> Andy Harrison
> 
> Platform Software Engineer 
> Anite Telecoms Ltd.
> 127 Fleet Road, 
> Fleet, Hampshire, GU51 3QN, UK 
> http://www.anite.com/telecoms
> 
Please note that my email domain has changed from @anitetelecoms.com to
@anite.com 
Registered in England No. 1721900 Registered Office: 353 Buckingham Avenue,
Slough, Berkshire SL1 4PF, United Kingdom 





Scanned for viruses by MessageLabs. The integrity and security of this message cannot be guaranteed. This email is intended for the named recipient only, and may contain confidential information and proprietary material. Any unauthorised use or disclosure is prohibited.


More information about the cvsnt mailing list
Download the latest CVSNT, TortosieCVS, WinCVS etc. for Windows 8 etc.
@CVSNT on Twitter   CVSNT on Facebook