We have encountered a merge problem that is baffling me. I have used
clearcase since 1994 and I don't remember ever having seen a problem
with the merge logic within clearcase. But this one has gotten the
most of me. If you consider yourself a merge expert and can offer me
insight on why we are seeing this problem, I highly appreciate your
input.
In short, the problem is that we do a -ndata merge to the latest
version on /main (without creating a new version) from our task branch
and then ask clearcase for any required merges from /main/lATEST to
our task branch. It reports a merge is needed for those files where we
did a -ndata merge!!
The following example shows the problem:
$ kt lsvtree -merge -all adv.java
adv.java@@\main
adv.java@@\main\0 (ADV_1.0_BASE)
adv.java@@\main\hd130
adv.java@@\main\hd130\0
adv.java@@\main\hd130\1
adv.java@@\main\hd130\2
-> \main\1
adv.java@@\main\1
[I merged hd130/2 into /main/1 and create the Merge hyperlink.]
$ kt co -nc adv.java
Checked out "adv.java" from version "\main\hd130\2".
$ echo "/main/hd130/3" >> adv.java
$ kt ci -nc adv.java
Checked in "adv.java" version "\main\hd130\3".
[I made a change on hd130 and created version 3]
$ kt merge -ndata -to adv.java@@/main/1 -version /main/hd130/3
Recorded merge of "adv.java".
[I determined that the main line did not need this change, so I simply
added the merge arrow to indicate this]
$ kt lsvtree -all -merge adv.java
adv.java@@\main
adv.java@@\main\0 (ADV_1.0_BASE)
adv.java@@\main\hd130
adv.java@@\main\hd130\0
adv.java@@\main\hd130\1
adv.java@@\main\hd130\2
-> \main\1
adv.java@@\main\hd130\3
-> \main\1
adv.java@@\main\1 (ADV_2.0_BASE)
$ kt findmerge adv.java@@/main/hd130/3 -d -log NUL -fversion /main/1 -print
-whynot <
Needs Merge "adv.java" [(automatic) to \main\hd130\3 from \main\1 (base also
\main\hd130\3
)]
[holy maceroni - a merge is needed?]
$ kt co -nc adv.java
Checked out "adv.java" from version "\main\hd130\3".
$ kt merge -to adv.java -version /main/1
Trivial merge: "adv.java" is same as base
"\vob_play\harryd\adv.java@@\main\hd130\3".
Copying "\vob_play\harryd\adv.java@@\main\1" to output file.
Moved contributor "adv.java" to "adv.java.contrib".
Output of merge is in "adv.java".
Recorded merge of "adv.java".
[holy maceroni, it copies /main/1 into /main/hd130/4]
$ kt ci -nc adv.java
Checked in "adv.java" version "\main\hd130\4".
$ cat adv.java
/main/hd130/1
/main/hd130/2
$ kt lsvtree -all -merge adv.java
adv.java@@\main
adv.java@@\main\0 (ADV_1.0_BASE)
adv.java@@\main\hd130
adv.java@@\main\hd130\0
adv.java@@\main\hd130\1
adv.java@@\main\hd130\2
-> \main\1
adv.java@@\main\hd130\3
-> \main\1
adv.java@@\main\hd130\4
adv.java@@\main\1 (ADV_2.0_BASE)
-> \main\hd130\4
$ kt descr adv.java@@/main/1
version "adv.java@@\main\1"
created 28-Feb-00.13:37:47 by harryd.programmers@golconda
Element Protection:
User : harryd : r--
Group: programmers : r--
Other: : r--
element type: text_file
predecessor version: \main\0
Labels:
ADV_2.0_BASE
Hyperlinks:
Merge -> \vob_play\harryd\adv.java@@\main\hd130\4
Merge <- \vob_play\harryd\adv.java@@\main\hd130\2
Merge <- \vob_play\harryd\adv.java@@\main\hd130\3
-----------------
Harry Duin (pronounced as hari [as in Hari Krishna] dine [as in eat out])
harryd@crt.com tel:(312) 234-2496 fax:(312) 234-2186
Technology Architecture Group IL1-003-26-11
Bank of America 233 S. Wacker Dr. Suite 2800 Chicago IL 60606
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
This archive was generated by hypermail 2b29 : Sun May 06 2001 - 00:23:30 EDT