2011-09-14 37 views
8

如果您只知道文件的舊名稱,是否有辦法獲取文件的版本歷史記錄?TFS:按舊名稱查找移動的文件

我目前正在查看我們的存儲庫的舊副本(我不知道確切的日期,副本被採取)。當我將它與當前存儲庫進行比較時,有一個文件只存在於副本中,但不存在於當前存儲庫中。它尚未在存儲庫中被刪除。我想,它已被移動或重命名。 TFS中有沒有什麼方法可以使用舊的路徑和名稱來查找版本歷史記錄?

我知道我可以使用名稱或代碼片段進行挖掘。但IMO這是不使用倉庫:)

非常感謝您

安德烈亞斯

+1

你想從命令行或以編程方式在C#代碼中執行此操作嗎? (我看到了C#標籤) – bryanmac

回答

2

在2010團隊資源管理器,你可以簡單地打開「顯示刪除的文件」選項,導航時,可接受的解決方案到原始文件夾,您將能夠看到移動或刪除的文件。您可以在項目上查看歷史記錄以查看其最後一個變更集 - 它會告訴您它是否被徹底刪除,或者它是否只是重命名,因此該項目不再存在於當前路徑名稱(又稱「槽」)中並被刪除那樣。您可以進一步鑽取該更改集的更改詳細信息以查看該項目佔用的新路徑名稱(插槽)。

正如你所提到的,你可以使用GetItems方法對TFS API做一點小小的反擊。雖然我明白這不是你想要做的,但我認爲值得一提的是,因爲TFS API非常容易使用。

+0

我安裝了Visual Studio 2010 Premium,包括TeamExplorer,並看到刪除的文件 - 但沒有移動。是否有不同版本的TeamExplorer我不知道?順便說一句:是的,TFS-API非常好,易於使用 - 一旦你安裝了,這對我來說有點麻煩:) – Andreas

+0

你的服務器是TFS 2010嗎?重命名行爲(在服務器上)在2008年到2010年間發生了變化。 –

+0

不,我們沒有時間升級。現在我們還有一個理由。非常感謝你。 – Andreas

0

一些簡單的方法(在其他的答案不是已經建議)可能會有幫助:

在你庫,轉到用於包含的文件,文件夾點擊鼠標右鍵,顯示歷史記錄。這將顯示該文件夾中文件的所有版本更改。現在查看文件夾中不再存在的文件變化列表,然後雙擊它們查看它們,並確定文件是否看起來像是新文件的祖先。

或者採用暴力破解的方法:將所有源代碼放到磁盤上,搜索同名文件或其中包含相同文本的文件作爲您要查找的文件(I尋找那些看起來像他們可能很老的評論,這些評論使用了不可能在許多地方出現過的獨特措辭。評論比類別/方法名稱改變的可能性更小,如果該文件是可重構的改名)

grep可能是一種醜陋的,蠻力的方式來解決問題,但有時它是最快和最容易的。 TFS CLI工具功能強大,但無用,複雜且記錄不完整,因此除非您已經是專家,否則他們可能需要大量試驗和錯誤才能讓他們按照自己的意願進行操作。