Serial development of a file that can be merged
In this scenario, a writer cannot currently check out the file using a reserved checkout because the branch is mastered by a different replica. He checks out the file using the –unreserved and –nmaster options. After he receives mastership, he finds that he must merge the changes before he can complete his checkin operation.
- John, in San Francisco, needs to change a script. He cannot check out
the file using a reserved checkout because the branch is mastered by the Boston
replica:
cleartool checkout –c "option to suppress status msgs" /vobs/html/scripts/ conv_fm.pl cleartool: Error: Unable to perform operation "checkout" in replica "sanfran_hub" of VOB "/vobs/html". cleartool: Error: Master replica of branch "/main" is "boston_hub". cleartool: Error: Unable to check out "/vobs/html/scripts/conv_fm.pl".
- He requests mastership of the branch:
cleartool reqmaster –c "SF: add new option" /vobs/html/scripts/ conv_fm.pl@@/main /vobs/html/scripts/conv_fm.pl@@/main: Change of mastership at sibling replica "boston_hub" was successful. Mastership is in transit to the new master replica.
- He checks out the file with the –unreserved and –nmaster options
and proceeds to edit the file:
cleartool checkout –c "option to suppress status msgs" –unreserved –nmaster /vobs/html/scripts/conv_fm.pl Checked out "/vobs/html/scripts/conf_fm.pl" from version "/main/15".
- Until mastership is received at the San Francisco replica, he cannot check
in his changes:
cleartool checkin –nc conv_fm.pl cleartool: Error: Unable to perform operation "checkin" in replica "sanfran_hub" of VOB "/vobs/html". cleartool: Error: Master replica of branch "/main" is "boston_hub". cleartool: Error: Unable to check in "conv_fm.pl".
- When mastership is received at the San Francisco replica, he attempts
to check in the file, but finds that he must perform a merge:
cleartool checkin –nc conv_fm.pl cleartool: Error: The most recent version on branch "/main" is not the predecessor of this version. cleartool: Error: Unable to check in "conv_fm.pl".
- He performs the merge, and checks in the file:
cleartool merge –to conv_fm.pl –c "merging from LATEST" –version /main/LATEST ******************************** <<< file 1: /vobs/html/conv_fm.pl@@/main/15 >>> file 2: /vobs/html/conv_fm.pl@@/main/16 >>> file 3: conv_fm.pl ******************************** . . . Moved contributor "conv_fm.pl" to "conv_fm.pl.contrib". Output of merge is in "conv_fm.pl". Recorded merge of "conv_fm.pl".
cleartool checkin –nc conv_fm.pl Checked in "conv_fm.pl" version "/main/17".