抹杀已经集成的功能分支
Obliterating already integrated feature branch
我在一个创造大量功能的团队中工作 "stream task"。
即使我们在集成后删除流任务,关联的分支仍然存在于软件仓库中,并且有点混乱各种用户界面。
我很想请管理员在我们进行时删除它们。
我已经仔细阅读了:http://answers.perforce.com/articles/KB/2565
然而,抹杀总是伴随着可怕的警告"please contact Perforce Support first"。所以在走那条路之前,我想知道有什么风险,除了擦除错误的分支。
最初在功能分支中创建的文件会怎样?会抹杀原始版本,将惰性副本转换为完整的文件吗?既然惰性副本在主线中,那么最旧的修订版现在会指向主线中的 on 吗?
它会干扰"interchange"命令吗?如果我有 2 个 "dev" 分支并行移动,我相信它仍然可以工作,因为我实际上会比较 "merge changelist" 不受任务分支删除影响的 "merge changelist" ?
如果在功能分支中重命名文件会怎样?我会丢失全部历史记录并且这 2 个文件看起来 "disconnected" 吗?
还有没有其他我没有考虑到的风险?
问题 3 特别危险,可能是不继续执行该计划的充分理由。
我目前认为如果 1 和 2 为真,则 "safe" 删除已经集成的功能分支:
没有move/add/delete分支做了(这个可以通过fstat headaction属性查看)
没有从分支创建子分支(因为我们使用的是任务流,这是默认强制执行的)
如有错误请指正
一般来说,如果一个文件已经集成到别处,只删除任务流中的文件是安全的,您仍然会以其他名称保留该文件。
但是,如果您清除任务流的文件历史记录,任务流中文件发生的更改记录(add/edit/delete、重命名、进一步分支等)确实会被删除, 因此整个历史最终会变得混乱且难以阅读。
就我个人而言,我更喜欢维护这些文件的整个历史记录,但我理解这样一种观点,即抽象地说,更多的历史记录并不总是更好的历史记录。
完成任务流后,是否要删除流规范?这将导致任务流中未修改的文件消失,只留下任务流中实际修改过的文件的历史记录,这通常是一组小得多的文件。
我在一个创造大量功能的团队中工作 "stream task"。
即使我们在集成后删除流任务,关联的分支仍然存在于软件仓库中,并且有点混乱各种用户界面。
我很想请管理员在我们进行时删除它们。
我已经仔细阅读了:http://answers.perforce.com/articles/KB/2565
然而,抹杀总是伴随着可怕的警告"please contact Perforce Support first"。所以在走那条路之前,我想知道有什么风险,除了擦除错误的分支。
最初在功能分支中创建的文件会怎样?会抹杀原始版本,将惰性副本转换为完整的文件吗?既然惰性副本在主线中,那么最旧的修订版现在会指向主线中的 on 吗?
它会干扰"interchange"命令吗?如果我有 2 个 "dev" 分支并行移动,我相信它仍然可以工作,因为我实际上会比较 "merge changelist" 不受任务分支删除影响的 "merge changelist" ?
如果在功能分支中重命名文件会怎样?我会丢失全部历史记录并且这 2 个文件看起来 "disconnected" 吗?
还有没有其他我没有考虑到的风险?
问题 3 特别危险,可能是不继续执行该计划的充分理由。
我目前认为如果 1 和 2 为真,则 "safe" 删除已经集成的功能分支:
没有move/add/delete分支做了(这个可以通过fstat headaction属性查看)
没有从分支创建子分支(因为我们使用的是任务流,这是默认强制执行的)
如有错误请指正
一般来说,如果一个文件已经集成到别处,只删除任务流中的文件是安全的,您仍然会以其他名称保留该文件。
但是,如果您清除任务流的文件历史记录,任务流中文件发生的更改记录(add/edit/delete、重命名、进一步分支等)确实会被删除, 因此整个历史最终会变得混乱且难以阅读。
就我个人而言,我更喜欢维护这些文件的整个历史记录,但我理解这样一种观点,即抽象地说,更多的历史记录并不总是更好的历史记录。
完成任务流后,是否要删除流规范?这将导致任务流中未修改的文件消失,只留下任务流中实际修改过的文件的历史记录,这通常是一组小得多的文件。