Re: Merge of branch to HEAD, failed to update head with any commited bra
From:
James R Kirk
Subject:
Re: Merge of branch to HEAD, failed to update head with any commited branch changes when files were locally modified.
Date:
Thu, 1 Sep 2005 13:36:07 -0400
Jim Hyslop <address@hidden> wrote
on 09/01/2005 12:30:26 PM:
> James R Kirk wrote:
> >
> > cvs-1.11.20-1 running on SUN sparc ultra-4, SunOS 5.8
> >
> > Checked out the current HEAD of a project to a temporary merge
sandbox.
> > cvs co project
> > Followed with the merge of latest changes on the branch( first
merge
> > from the branch to the HEAD
> > cvs update -j branchtag project
> > Merge did not update any files that had been locally changed
in a
> > developers sandbox of that branch.
> >
> > I did not expect the merge to pick up uncommited local changes.
> > *But I did expect CVS to merge the
number of earlier commited
> > changes to the same files on the branch*.
> >
> > I have looked the latest on-line CVS documentation, and could
not find
> > any mention of this type of behavior.
> >
> > My developers are asking how the cvs merge process even
knew about the
> > uncommited changes in the branch sandbox?
>
> There is only one way for this to happen: the merge command was issued
> from within the branch sandbox, and not from within the fresh checkout.
>
> Did the 'project' subdirectory exist before the above commands were
issued?
The 'project' subdirectory has existed for over ten
years we have used CVS. The branch sandbox and the fresh merge sandbox were
on different servers with CVS mounted from a third server. The merge output
files are only on the server where the merge sandbox was created. I
checked and corrected conflict files from the merge in that same merge
sandbox. How would the merge conflict files end up in the "merge"
sandbox if I ran the merge on the branch?
> > A cvs status on the merge sandbox for one of the files in question
gave
> > the following:
> > ===================================================================
> > File: qwreloadout.sc Status: Locally Modified
> >
> > Working revision: 1.13 Result
of merge
> > Repository revision: 1.13
> > /CVSROOT/project/qw/src/qwreloadout/qwreloadout.sc,v
> > Sticky Tag: (none)
> > Sticky Date: (none)
> > Sticky Options: (none)
> >
> > ===================================================================
> > This file was not updated with the twelve changes commited earlier
to
> > this file on the branch:
>
> How do you know this? The output of the status command is meaningless
in
> this context. All it tells you is that the file has been modified,
as a
> result of the merge command. Have you tried running 'cvs diff' for
the
> file in question? After committing the files after fixing merge conflicts
in the merge sandbox, back to the repository, I used tkcvs to do diffs
on this and other files from the merge sandbox against the head revisions
in the repository, and these files were not committed.
>
> --
> Jim