Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2010 Tfs2010:如何使用工具架中的挂起更改在重命名操作中获取源文件的服务器路径?_Visual Studio 2010_Tfs_Command Line Interface - Fatal编程技术网

Visual studio 2010 Tfs2010:如何使用工具架中的挂起更改在重命名操作中获取源文件的服务器路径?

Visual studio 2010 Tfs2010:如何使用工具架中的挂起更改在重命名操作中获取源文件的服务器路径?,visual-studio-2010,tfs,command-line-interface,Visual Studio 2010,Tfs,Command Line Interface,当我在TFS2010中执行tf rename$/Project/Main/File1.cs$/Project/Main/File2.cs时,我知道一旦我签入,将在$/Project/Main/File2.cs插槽上进行“重命名”,在$/Project/Main/File1.cs插槽上进行“删除,源代码重命名”更改 但是,尽管更改仍处于挂起状态,但只有重命名更改作为挂起更改存在。挂起的更改中不显示任何更改,以指示正在重命名$/Project/Main/File1.cs。事实上,如果执行tf sta

当我在TFS2010中执行
tf rename$/Project/Main/File1.cs$/Project/Main/File2.cs
时,我知道一旦我签入,将在
$/Project/Main/File2.cs
插槽上进行“重命名”,在
$/Project/Main/File1.cs
插槽上进行“删除,源代码重命名”更改

但是,尽管更改仍处于挂起状态,但只有重命名更改作为挂起更改存在。挂起的更改中不显示任何更改,以指示正在重命名
$/Project/Main/File1.cs
。事实上,如果执行
tf status$/Project/Main/File1.cs
tf.exe,则tf.exe声明没有挂起的更改,这是完全错误的

在我的情况下,我有一系列大约100个文件,作为分支集成操作的一部分,我手动合并了这些文件,在命令行重新执行
tf merge
命令后,我只是尝试撤消应用这些文件的文件,以便取消搁置合并的更改

但是,Tfs对象模型的
PendingChange
对象只能为我提供
ServerPath
,它指的是“源重命名”项,而不是“重命名”项。我不知道如何跟踪我搁置的挂起的更改,这些更改将需要在我的工作区中撤消


如何为已重命名的工具架中的项目获取原始的预重命名服务器路径?

您可以获取文件正确映射到某个时间点的特定版本,并注意其中的路径


另外,您可以尝试TF回滚。如果您提供了手动合并这100个文件的变更集,那么在回滚时,您至少会获得所有相关文件的列表(您不必签入回滚,只需使用它来可视化文件)。从这里,您应该能够找出相关的文件。

啊,很抱歉——说清楚,当我提到预重命名时,我指的是仍然挂起的重命名操作之前的名称。我感兴趣的只是从一个变更集中选择性地撤销这100个文件,该变更集由分支之间的合并操作中数千个挂起的变更组成。我想撤销它们的原因是这样我就可以取消搁置那些相同的文件,但我想使用搁置集的内容作为撤销操作的驱动程序,以确保准确性。本质上,我试图实现我看到的“tf unshelve/force”。在我的例子中,从变更集解析为有效路径时起,我总是只做一个get-specific版本,然后计算出来。除了我的想法之外,我想不出任何其他方法来做这件事。我认为没有办法从TF或TFPT或UI获取这些路径。