What is the best way to join Clearcase?

I previously documented my opinion on Clearcase as a version control system, but unfortunately I still use it. So I appeal to you guys to help me alleviate one of my disappointments.

We just moved from a system with one branch to a developer, to one branch for one task, trying to improve some of the problems that we had with determining why some files were changed. In general, I am pleased with the solution, but there is one serious problem. We use simple scripts to start and complete tasks, which create a new branch with the user name and task number, and then update the local snapshot view to have a configuration specification similar to the following:

    element * CHECKEDOUT 
    element * ... / martin_2322 / LATEST  
    element * / main / LATEST -mkbranch martin_2322 
    load / Project / Application

Say my project has two linked files A.cs and B.cs. For my first task, I am making changes to the branch. Then I need to stop working on task 2322 for some reason and start working on task 2345 (task 2322 is not finished, so I will not combine it into the main one). I create a new branch 2345, edit both A.cs and B.cs, and merge the results back into main. Now I'm returning to work on 2322, so I change the configuration configuration to the one indicated above. At this moment, I see the A.cs file from the task branch (as I edited it earlier, so I got the version locally for this branch) and the latest version of B.cs from main. Since I have no changes made to A.cs on branch 2345, the assembly breaks. Instead, I need to collect task 2322, where I left off, and see it with the old version of A.cs - the onewhich was the last in the main part when the branch was created.

, :

  • , . , , , . ?

  • . , CC , , ( , 2322, )

  • main . , , , , , . , "--". , .

, - , , main . , , , Clearcase?

+2
3

cleartool.

cleartool describe -fmt "%d" -type martin_2322

. , . man cleartool, , , - , .

cleartool man describe

cleartool man fmt_ccase
+1

:

  • " ". "" , ( ).

  • , , , (, )

  • , , " A.cs - , , ". , , script "" , ( ) , .

, :

element * CHECKEDOUT 
element * .../martin_2322/LATEST  
element * STARTING_LABEL_2322 -mkbranch martin_2322 
# selection rule for new "added to source control" file
element * /main/0 -mkbranch martin_2322 
load /Project/Application

, .

  • , , .
+4

We use Clearcase, and we find that creating a branch for release is often much easier than completing a task. If you create it by task, then I will have a “main branch” for this version and separate the tasks from this branch, and then merge them back when done to merge them back into the trunk.

+1
source

Source: https://habr.com/ru/post/1766186/


All Articles