[cciug] merge bug?

From: harryd@crt.com
Date: Mon Feb 28 2000 - 17:29:06 EST


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