- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我以前documented我对 Clearcase 作为源代码控制系统的看法,但不幸的是我仍在使用它。所以我求助于你们来帮助我减轻我的挫败感之一。
我们刚刚从一个每个开发人员一个分支的系统转变为每个任务一个分支的系统,以试图改善我们在确定为什么某些文件被更改时遇到的一些问题。总的来说,我对解决方案很满意,但有一个主要问题。我们使用简单的脚本来启动和结束任务,这些任务创建一个以用户名和任务编号命名的新分支,然后更新本地快照 View 以具有类似于以下的配置规范:
element * CHECKEDOUT element * .../martin_2322/LATEST element * /main/LATEST -mkbranch martin_2322 load /Project/Application
假设我的项目有两个耦合文件 A.cs 和 B.cs。对于我的第一个任务,我对分支上的 A 进行了更改。然后,无论出于何种原因,我都需要停止处理任务 2322,并开始处理任务 2345(任务 2322 尚未完成,因此我不会将其合并回 main)。我创建了一个新的任务分支 2345,同时编辑 A.cs 和 B.cs,并将结果合并回 main。现在我回到 2322 上工作,所以我将我的配置规范改回上面定义的规范。此时,我看到任务分支中的 A.cs 文件(因为我之前对其进行了编辑,所以我得到了该分支的本地版本)和来自 main 的 最新 版本的 B.cs。由于我没有对 2345 分支上的 A.cs 进行更改,因此构建中断。相反,我需要的是能够从我离开的地方继续任务 2322,并使用旧版本的 A.cs 查看它——创建分支时在 main 中最新的版本。
在我看来,我有几个选项可以解决这个问题:
更改配置规范,使其在正确的日期从 main 获取文件。如果我知道日期并且不介意手动设置它,这很容易做到,但我不知道如何将其自动化到我们的任务切换脚本中。有没有办法获取分支的创建日期?
为 main 上的每个分支创建一个标签。理论上做起来很简单,但是我们安装的 CC 中的标签系统已经在数百个标签的重压下崩溃了,所以我不知道它是否能应付每个开发人员每个分支一个(注意我示例中的任务是 2322,我们只完成了项目的大约四分之一)
从主分支合并到任务分支。再次应该可以工作,但是长时间运行的分支将不仅包含为该任务更改的文件,还包含需要合并以使不相关的事情正常工作的所有文件。这使得它们与每个开发人员分支的方法一样复杂。我想查看更改了哪些文件以完成特定任务。
我希望我在这里遗漏了一些东西,并且有一种方法可以设置我的配置规范,这样它就可以从 main 中检索预期的文件,而无需笨拙的解决方法。那么,你们如何在 Clearcase 中进行分支?
最佳答案
一些评论:
每个任务一个分支是修改“工作单元”内的一组文件的正确粒度。只要“任务”不是太窄,否则您最终会得到大量的分支(及其相关的合并)
当您为分支创建配置规范时,您显然忘记了新元素(“添加到源代码管理”的元素)
此外,您还可以考虑为修复起点创建分支,这将解决“A.cs 的旧版本 - 创建分支时主程序中最新版本”这一问题。
我知道您已经有太多标签,但您可以使用脚本来“关闭”任务,该任务会(除其他事项外)删除该起始标签,避免标签困惑。
这里是我将使用的配置规范:
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
我会发现这比计算分支日期要容易得多。
关于clearcase - 如何最好地在 Clearcase 中分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/996274/
ClearCase 中的分支和流有什么区别? 最佳答案 分支是并行化给定文件的版本历史的经典版本控制方式:参见“When should you branch A Stream is not a bra
我想问一下ClearCase中的派生对象到底是什么以及如何工作。 另外我想问是否有其他程序具有相同的功能,因为在 Git、MKS 或 IBM® Rational Team Concert™ 中我找不到
我有一个关于 ClearCase 的小问题。请帮帮我!配置规范什么时候开始起作用?当我单击 CHECK OUT 或 CHECK IN 时?我有 test.c 和配置规范 element * CHECK
我是一个 ClearCase 新手,直到现在已经习惯了 SVN。因此,我对创建包含多个文件到 ClearCase 的新目录结构所需采取的步骤感到有些困惑。 因此,举例来说,ClearCase 中有一个
我想重新加载一个 View (之前创建的)而不是创建一个全新的 View 。 两种场景: 1 - 硬盘崩溃,本地 View 不再存在。 2 - 使用 ClearCase 设置了一台新笔记本电脑。 在这
我最近离开我们组织的 friend 也未删除他的 ClearCase View 。 现在我们想删除它。 我试图删除但它不允许。它说: Unable to remove "\\hostname\view
我们正在使用 ClearCase UCM,有人问我是否有办法从特定时间获取所有版本。 示例:正在开发流上完成工作。有人破坏了构建,但之前的基线太远了,我们会失去太多的工作。他们想获取上周四上午 11:
有没有办法使用 ClearCase 自动化层或通过创建 perl 脚本为多个目标构建?我想在 checkin 项目时自动为 Linux 和 Windows 构建过程。任何输入将不胜感激。 问候, 马格
我的基本 ClearCase 配置规范是这样的: element * CHECKEDOUT element * .../Branch_F13R2/LATEST 一切都很好,但我想知道什么是 .../在
我有一个开发团队发布的要求,要求撤销给定 UCM 事件中的所有更改。限制是我们没有删除权限。这意味着我知道我可以执行 lsactivity 来列出事件中的所有元素及其各自的版本,然后在简单的世界中就可
我有一个带有文件夹和两个文件的 ClearCase View 。我 checkout 文件夹,删除文件并重新 checkin 文件夹。我只剩下一个文件夹和一个文件。有没有办法找回我的文件?我正在使用标
用明确的案例术语来说,集成流和集成 View 有什么区别?发展流和发展观? 更具体地说,为什么“joining an UCM project”涉及创建集成和开发 View ? 如果我是开发人员而不是集
是否可以使用 cleartool 获取我在给定源代码目录树中所做的所有 checkin 的列表?如果可能的话,我想看看签到的时间和文件版本。我正在使用 Windows。 提前致谢。 最佳答案 这将涉及
我正在尝试使用 annotate 但遇到了一个问题:如果之前为同一版本显示过某些信息(日期和用户名),则输出会忽略它。我想在任何一行中显示它们。 这是我的命令: cleartool annotate
有人知道如何在 Windows 上的 ClearCase UCM (v8) 中搜索具有特定属性的事件吗? 我已经尝试了“cleartool find”的各种排列,但每次我运行它时都找不到任何东西(或者
我在不同的目录中创建了一些文件。我创建时无法添加它们,所以我需要稍后再添加。 有没有办法获取 ClearCase View 中实际上不受源代码控制的所有文件的列表? 最佳答案 是:您可以使用 Clea
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果你觉得这个问题可以改进并可能重新打开,visit the he
我已经为我的版本应用了完整的基线。对于前。基线“MYProj_2.0.0.20”。 然后测试团队发现了一些重大问题。为了解决这个问题,开发团队进行了一些更改。 完成构建后,我再次应用了相同的基线“MY
我的一位同事报告了 Clearcase 中的一个特殊问题。 (这是一个基本的透明外壳 View 。) 当他将文件从 Windows 资源管理器拖放到 Clearcase 资源管理器时,文件名会自动转换
尽管有代码,但我得到的元素大小为 0。如何解决此错误? 最佳答案 有两种可能性: 如果,当您将鼠标悬停在“???”上时图标,您会看到“已加载但缺失”,然后您应按照 中的说明进行操作 http://ww
我是一名优秀的程序员,十分优秀!