【问题标题】:The renamed files with Workspace.Merge Method使用 Workspace.Merge 方法重命名的文件
【发布时间】:2018-07-27 17:33:40
【问题描述】:

我正在使用 Workspace.Merge 方法执行合并,但是当我指定 MergeOptionsEX.baseless 时,源版本中重命名文件的状态会更改为在目标版本中创建分支。

如果不退出,Baseless 选项会链接两个版本。所以我把这个选项改成none,文件重命名的问题解决了但是我觉得这个解决方案不能建立两个版本之间的链接。

Workspace.Merge(sourcePathSpec, targetPath, versionFrom, versionTo, lockLevel,MergeOptionsEx.Baseless);

【问题讨论】:

  • the state of the renamed files in the source version is changed to create a branch in the destination version. 你能在这部分更清楚地解释一下吗?在 TFS 中重命名文件就像删除旧文件并创建一个全新的文件。
  • 在源版本的 TFS 中,文件已在变更集中重命名,当与 basless 合并时,该文件的状态变为在目标版本中创建分支。

标签: c# tfs tfvc


【解决方案1】:

Workspace.Merge 方法用于将源合并到目标。

MergeOptionsEx 是一组合并选项。

当您设置MergeOptionsEx.Baseless 时,它会指示服务器在项目之间执行毫无根据的合并。

在 TFVC 中,您只能合并到直接相关的分支(父或子)。

喜欢毫无根据的合并,例如使用 tf merge command

tf merge /baseless <<source path>> <<target path>> /recursive 

/baseless

在没有基础版本的情况下执行合并。也就是说,允许用户 合并没有合并关系的文件和文件夹。之后 无根据的合并,存在合并关系,未来的合并不存在 必须毫无根据。

注意 Baseless 合并无法删除目标中的文件。您可以手动进行此类更改。

I think this solution can't establish the link between two versions.这里的Link是什么意思,你说的是合并关系吗?如果源和目标之间没有合并关系,你甚至不能用MergeOptionsEx.None枚举进行合并。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-29
    • 2021-04-07
    • 2015-03-12
    • 1970-01-01
    • 2016-05-13
    • 1970-01-01
    相关资源
    最近更新 更多