2012-12-24 105 views
23

爲了清理我的項目結構,我通過TFS Power Tools Shell Extension(重命名/移動)將文件夾移動到另一個(新)文件夾。TFS 2010:移動文件夾後歷史丟失

在新地點檢查歷史記錄後,此舉是唯一的條目。 (我試過一個文件夾向上,向下,甚至在移動的文件夾中的單個文件..相同的結果。)

我在移動之前還在文件夾的版本上放了一些標籤,因爲有一些重要的狀態我想回到的代碼。

那麼......出了什麼問題,我該如何獲取歷史記錄或至少再次找出標籤名稱並查看這些版本?

回答

18

原來這很簡單。

在Visual Studio 2010中,轉至工具 - >選項。在那裏你可以找到顯示「已刪除」項目的選項(大概在對話框的中間)。在移動過程中舊文件夾被刪除 - 激活該選項後將再次顯示。 (它們會變成帶紅色的灰色)

雖然標籤似乎已經消失,所以我不得不依靠版本。

enter image description here

在源資源管理器,你再有正常操作 - 像瀏覽歷史或獲取。

+0

適用於某些文件,但不是全部。 – Damian

17

免責聲明:供大家參考,這個答案並沒有解決@Andreas問題,只是給出了爲什麼發生這種情況的一些背景,並提供了一些解決方法。

似乎在TFS 2010中移動文件夾時丟失歷史記錄不是一個錯誤,是一個「功能」。 (在TFS2012仍然發生從這個MSDN link您可以閱讀微軟官方回答:。

感謝這裏的反饋這個被設計以前的評論是正確的,有一個選項在UI中,文件夾的歷史記錄是遞歸的 - 始終是這樣的,這是因爲大多數時候用戶關心文件夾內容的歷史記錄,另一方面,文件沒有遞歸歷史的概念 - 你總是看到文件本身的歷史現在,從命令行,有一個選項可以顯示遞歸歷史記錄(/ r),並且如果在沒有遞歸選項的情況下在文件夾上運行tf歷史記錄,則會看到對文件的更改文件夾itse如果。這將包括對文件夾本身的重命名等更改。

  • 解決方法獲得歷史一旦失去:正如你可以看到有,你有使用TF歷史一個解決方法
  • 解決辦法,以避免失去歷史:如果你想避免在文件夾中丟失的歷史,而不是使用移動功能,您可以使用TFS集成工具從一個文件夾遷移代碼以其他保存歷史,從$遷移/ TFSCode/FolderA$/TFSCode/FolderB。這是一個有點矯枉過正,但如果歷史是對你很重要的是比刪除的文件夾
+1

感謝您的其他信息!有一個問題,但不是簡單地複製(包括歷史)的遷移? (前一段時間我做了這個遷移到一個不同的服務器 - 它沒有被記錄得太好,對於臨時用戶來說通常太複雜了,但最後它還是有效的。) –

+0

不客氣。遷移是一個「簡單的」副本..但是你失去了變更集(儘管老版本在說明中)和日期(所有日期都是從你執行遷移的那一刻起) –

+2

方式太複雜了。只需使用Subversion或Git併爲自己節省一大堆痛苦。 – PositiveGuy

13

這是事實,文件夾歷史記錄丟失,但單個文件的歷史實際上是不丟失尋找它更好。它隱藏在文件歷史記錄行最左邊的小「展開我」箭頭下。在文件的最早歷史記錄或任何你看到它的地方展開它,並且你還將從不再存在的舊位置看到該單個文件的歷史記錄。

+0

這是一個完美的答案。現在我確信,在TFS中移動文件/文件夾時,我的文件歷史記錄是安全的,儘管文件夾歷史記錄已丟失。沒關係對我來說。非常感謝你! – variable

+2

這是真的,雖然它很爛... – vezenkov

+1

請發佈一個屏幕拍攝。我找不到這個。 – Damian

1

在歷史記錄窗口頂部,您可以編輯源位置,輸入舊名稱並在移動之前獲取完整歷史記錄。

History Window, editable Source Location field

而且,是很好的一提的是,你可以得到完整的歷史回到移動/分支重新命名回原來的位置/名稱。