代码之家  ›  专栏  ›  技术社区  ›  Martin Harris

如何最好地在Clearcase分行?

  •  3
  • Martin Harris  · 技术社区  · 17 年前

    我以前 documented 我对Clearcase作为一个源代码控制系统的看法,但不幸的是,我仍然在使用它。所以我向你们求助,帮助我缓解一个挫折。

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

    假设我的项目有两个耦合文件A.cs和B.cs。对于我的第一个任务,我在分支上对A进行了更改。然后,无论出于什么原因,我都需要停止处理任务2322,并开始处理任务2345(任务2322尚未完成,因此我不会将其合并回main)。

    在我看来,我有几个选择来解决这个问题:

    3 回复  |  直到 9 年前
        1
  •  2
  •   A. Levy    17 年前

    一些评论:

    • 每个任务的分支是修改“工作单元”内一组文件的正确粒度。只要“任务”不太窄,否则你最终会得到一大堆分支(及其相关的合并)

    • 当你为一个分支创建配置规范时,你显然忘记了


    • 我知道你已经有太多的标签了,但你可以有一个脚本来“关闭”一个任务,该脚本会(除其他外)删除起始标签,避免标签混乱。

    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
    

    • 如果您还需要将一些修复程序重新安装回当前任务,也可以将已完成任务分支中的一些文件合并到新的当前任务分支中。
        2
  •  4
  •   VonC    17 年前

    描述 cleartool中的命令。

    cleartool describe -fmt "%d" -type martin_2322
    

    这将打印出创建分支的日期和时间。您可以使用它来实现您的第一个选项。有关更多信息,您可以阅读以下cleartool手册页,但希望上面的命令就是您所需要的。

    cleartool man describe
    
    cleartool man fmt_ccase
    
        3
  •  1
  •   George Stocker NotMe    17 年前

    我们使用Clearcase,我们发现为发布创建分支通常比按任务执行要容易得多。如果你确实是按任务创建的,那么我会为该版本创建一个“主分支”,并将任务从该分支中分支出来,然后在完成后将它们合并回主干中。