When I perform tf rename $/Project/Main/File1.cs $/Project/Main/File2.cs
in TFS2010, I know that once I check in there will be a "rename" change on the $/Project/Main/File2.cs
slot, and a "delete, source rename" change on the $/Project/Main/File1.cs
slot.
However, while the changes are still pending, only the rename change exists as a pending change. No changes are displayed in Pending Change to indicate that $/Project/Main/File1.cs
is being renamed. In fact, if you execute tf status $/Project/Main/File1.cs
tf.exe claims there are no pending changes, which is totally false.
In my situation, I have a series of about 100 files that I have manually merged as part of a branch integration operation开发者_Go百科, and following a re-execution of the tf merge
command at the command line, I am simply trying to undo the files to which they apply so that I may unshelve the merged changes.
However, the Tfs object model's PendingChange
objects can supply me only with the ServerPath
, which refers to the "source rename" item, not the "rename" item. I am at a loss about how I can trace my shelved pending changes to the items that would need to be undone in my workspace.
How can I get the original pre-rename server path for items in a shelf that have been renamed?
You could get specific version to a point in time that the files mapped correctly and take note of the paths there.
Also, you could try TF Rollback. If you supply the changeset where you manually merged those 100 files you will, at the very least, get a list of all relevant files if you rollback (you dont have to checkin the rollback but rather just use it to visualize the files). From there, you should be able to figure out the related files.
精彩评论