【发布时间】:2012-04-03 15:07:34
【问题描述】:
有没有办法从合并过程中排除指定的文件?当从我们的生产分支合并到测试分支以供测试人员使用时,我们希望排除一个包含 SQL 连接字符串的配置文件。防止在合并后对其进行编辑。我确实看到了有关使用 cloak 选项的评论,但我只能看到这可用于文件夹而不是文件。
提姆
【问题讨论】:
标签: merge
有没有办法从合并过程中排除指定的文件?当从我们的生产分支合并到测试分支以供测试人员使用时,我们希望排除一个包含 SQL 连接字符串的配置文件。防止在合并后对其进行编辑。我确实看到了有关使用 cloak 选项的评论,但我只能看到这可用于文件夹而不是文件。
提姆
【问题讨论】:
标签: merge
有几种不同的方法可以做到这一点。如果您不打算将来更改配置文件并且您只是不希望其当前内容进入父分支,您可以简单地对文件执行“tf merge /discard”并签入. 这基本上就是说,永远不要将该文件发生的更改合并到目标分支。但是,如果文件再次更改,它将成为合并的候选者。
因此,如果您打算继续更改相关配置文件,那么您有两个选择。第一个是始终在您正在执行合并的 target 分支工作区中隐藏此文件。是的,可以隐藏文件,只是对话框中的选择器不会这样做简单的。如果您一直向下导航到包含文件夹,选择该文件夹,然后在文件夹字符串的末尾手动输入文件名,则 cloak 将对文件起作用。这种方法的缺点是您必须记住始终在执行合并的工作区中隐藏此文件,如果有人忘记这样做,该文件将被合并。
解决此问题的第三个(可能是最好的)解决方案是使用 tfpt.exe 电动工具和分支命令来隐藏父分支映射中的配置文件。可以下载最新的2010电动工具here。您将要运行“tfpt 分支 /properties /collection:”,然后选择“映射”通道。在那里,您可能只会看到分支根的单个映射。您需要为不想合并的文件创建一个 cloak 映射,然后单击 OK。在与该分支的所有后续合并中(注意,来自 任何 其他分支)相关文件将不会被合并。
【讨论】:
不是一个很好的解决方案,但您可以删除该文件的签入安全性,这样您就无法在合并后签入该文件。
【讨论】: