【发布时间】:2018-02-23 16:59:56
【问题描述】:
有没有办法做到这一点?我知道我可以做到tf changeset xxx,它会告诉我哪些文件是旧文件路径的“删除、源重命名”,但如果有多个重命名,则无法确定哪个文件与哪个文件对应。
此外,如果更改是本地的并且尚未提交,我看不出有什么方法可以完成这项工作。
【问题讨论】:
有没有办法做到这一点?我知道我可以做到tf changeset xxx,它会告诉我哪些文件是旧文件路径的“删除、源重命名”,但如果有多个重命名,则无法确定哪个文件与哪个文件对应。
此外,如果更改是本地的并且尚未提交,我看不出有什么方法可以完成这项工作。
【问题讨论】:
对于本地更改:
C:\Users\JesseHouwing\Source\Workspaces\vsts-tfvc-tasks-test>tf rename "changes.122204,old" "changes.122204.new"
changes.122204.new
C:\Users\JesseHouwing\Source\Workspaces\vsts-tfvc-tasks-test>tf status /format:detailed
$/vsts-tfvc-tasks-test/changes.122204.new;C29
User : Jesse Houwing
Date : Friday, 15 September 2017 11:10:29
Lock : none
Change : rename
Workspace : SNAPPIE
Source item: $/vsts-tfvc-tasks-test/changes.122204,old
Local item : [SNAPPIE] C:\Users\JesseHouwing\Source\Workspaces\vsts-tfvc-tasks-test\changes.122204.new
File type : Windows-1252
1 change(s)
对于远程更改,当您知道变更集编号时,使用变更集选项查看:
C:\Users\JesseHouwing\Source\Workspaces\vsts-tfvc-tasks-test>tf changeset 29 /noprompt
Changeset: 29
User: Jesse Houwing
Date: Thursday, 14 September 2017 20:02:54
Comment:
Items:
delete, source rename $/vsts-tfvc-tasks-test/changes.122204;X2
rename $/vsts-tfvc-tasks-test/changes.122204,old
使用/itemmode 和历史来跟踪特定文件,在这里您可以看到该特定文件的以前的名称:
C:\Users\JesseHouwing\Source\Workspaces\vsts-tfvc-tasks-test>tf vc history "changes.122204,old" /noprompt /format:detailed /itemmode
-----------------------------------------------------------------------------------------------------------------------
Changeset: 29
User: Jesse Houwing
Date: Thursday, 14 September 2017 20:02:54
Comment:
Items:
rename $/vsts-tfvc-tasks-test/changes.122204,old
-----------------------------------------------------------------------------------------------------------------------
Changeset: 11
User: Jesse Houwing
Checked in by: Project Collection Build Service (jessehouwing-dev)
Date: Saturday, 2 April 2016 20:46:32
Comment:
***NO_CI***
Items:
add $/vsts-tfvc-tasks-test/changes.122204
如果重命名不是通过 Visual Studio 或 tf rename 命令完成的,它可能会显示为 delete 和 add,并且这些更改之间的关系将会丢失。 Visual Studio 提供了一个 UI 来在签入前修复这些类型的更改,但是一旦签入,这些信息就不会回来了
【讨论】:
/format:detailed 以获取该数据,更新答案。