2010-07-27 30 views
27

我一直在爲一些個人項目和Team Foundation Server工作項目使用SourceGear庫。 TFS缺失的一件事是Vault在其檢入對話框窗口中具有的一個簡單功能。TFS Pending Changes可以顯示像SourceGear Vault一樣真正改變的文件嗎?

在Vault客戶端中,您可以查看簽出的文件是否從簽入的舊版本更改過。以下是screen shot。注意列「詳細信息」?這告訴你有一個區別。這是非常有用的方法是如果你必須檢查整個項目,因爲你要做代碼重新生成。我會檢查出我的類庫項目,然後重新生成我的CodeSmith模板。這樣做可能會導致只有幾個特定的​​文件發生更改。當我查看待處理的檢入屏幕時,我看到真正改變的文件,並且我可以比較以查看影響。

所以...... TFS能做到這一點嗎?也許有第三方工具可以幫我嗎?是否有我必須獲得的TFS SDK或PowerTool?任何人都想建立它?

+1

我希望你能找到的東西,因爲它的屁股檢查單獨改變每個文件一個巨大的痛苦(雖然在大多數情況下,我可能會這樣做來檢查是否發生了正確的更改)。 – 2010-07-27 21:36:15

+0

我正在使用TFS 2008 – MADCookie 2010-07-30 16:18:39

回答

10

this page,您可以從Visual Studio命令提示符下運行此命令。

tfpt uu /noget /r * 

您需要安裝TFS電動工具才能正常工作。此外,請確保在命令提示符下瀏覽到映射文件夾的根目錄(例如 - C:\ TFS)。

TFS電動工具鏈接(如果你還沒有的話)
TFS Power Tools for 2010
TFS Power Tools for 2012

+0

作品很有魅力,謝謝!非常高興我沒有必要手動撤消所有1844文件:D – 2014-10-31 19:48:30

+1

是否沒有辦法自動執行此操作?它需要每次運行命令。我確定我曾經工作過的地方有一個能夠自動撤銷未更改文件的設置,但我無法想出辦法做到這一點。 – Jez 2014-11-28 12:17:31

+0

我相信*未更改的文件實際上並未在TFS中更新。這可能只是我工作中的設置。爲了我自己的理智,我只想執行上述操作(在我的回答中);以確保我只是簽入我實際修改過的文件。 – WEFX 2015-02-10 13:58:07

1

我在一個企業開發環境中工作,許多開發人員可能在同一個文件上工作,我們也有TFS作爲源代碼控制。在我們的TFS最佳實踐文檔中,我們確實不鼓勵檢查開發人員不打算更改的文件,這樣,我們在提交變更集時自然排除文件沒有差異。

爲了回答你的問題,我通常只是看一下「Pending Changes」窗口,然後運行比較上我不確定的「changed」文件 - 比較工具應該立即告訴你,如果你的本地副本與服務器副本相同。不幸的是,除了我所建議的之外,沒有真正的解決方法,但是我沒有看到必須檢查整個項目分支進行編輯的情況。

+0

您是否使用代碼生成? – MADCookie 2010-07-27 22:25:35

+0

我不確定代碼生成是什麼意思。但另一方面,我可以說這通常是我們開發人員在8到5之間所做的嘗試:) – danyim 2010-07-27 22:38:04

+0

使用CodeSmith等工具根據數據庫模式生成業務對象類來生成代碼。如果你沒有進行這種開發,那麼你就不需要檢查項目中的所有文件。 看起來格蘭特克羅夫頓明白需要。 – MADCookie 2010-07-27 23:22:55

4

我不喜歡回答我自己的問題,但看起來似乎沒有真正的微軟解決方案。對我而言,這是我在辦公室使用Visual Studio處理問題的方式。

  1. 之前,我重新生成的業務對象,我把整個文件夾結構的副本
  2. 我檢查了整個項目或根生成的文件夾
  3. 我開始的代碼生成器。有時候,我確切知道會發生什麼變化,但有些時候,我可能會做出很多改變,我不想錯過任何事情。我的代碼生成器在工作時也會生成DROP/CREATE存儲過程所需的所有SQL文件。
  4. 使用SourceGear DiffMerge,我比較剛剛生成的文件夾和先前備份的文件夾。

這相當耗時。直到我看到Vault確定文件與存儲庫的磁盤不同時,我從未將其視爲問題。

也許你可以說當你使用源代碼控制庫的時候你是怎麼做代碼生成/再生的。

+0

提供的答案有什麼問題? – 2012-12-05 17:20:13

17

「待修改」窗口中選擇所有文件,並激活上下文菜單。然後點擊「撤消...「>‘撤消更改’>‘全否’。 這些文件沒有改變將被回滾。

+0

這是什麼版本的Visual Studio?我在2010年沒有得到這個選擇SP1 – 2011-10-19 18:14:13

+0

2010 Premium SP1 – alga 2011-10-24 13:25:28

+1

它可能有助於指出這也適用於VS Team System 2008。 – danyim 2012-01-11 21:43:26

6

沒有必要撤消不變的文件,TFS會注意到他們」在簽入時保持不變,只會關聯真正更改過的文件,任何已簽出但未更改的文件都會恢復爲最後一次已知的簽入版本,並且不會與您的簽入相關聯。請檢查未更改的文件,如果沒有更改,將始終恢復到以前的版本。

您可以通過從命令行調用'tfpt.exe uu /r'(您需要擁有Team Foundation Power工具)或通過使用Pending changes窗口中的「Undo unchanged」按鈕來快速撤銷未更改的文件。這從列表中刪除了立即保持不變的任何項目。所以,你可以看到你在檢查什麼。

Undo unchanged option

雖然它可能是這個選項是由Team Foundation Power ToolsTFS Source Control Explorer Extensions(這是一個必須爲每一個用戶TFS反正)加入。

參見:

+0

我使用TFS 2010,當我從VS命令提示符運行tfpt.exe uu/r它說**無法確定工作區**。你也有這個錯誤嗎? – Alicia 2013-03-08 03:00:54

+0

是當前工作文件夾映射?如果沒有,你是否提供了所需的參數? – jessehouwing 2013-03-08 18:45:33

+1

當前工作文件夾已映射。通過導航(使用命令提示符)映射到的文件夾克服了我的錯誤。 – Alicia 2013-04-01 22:25:37

相關問題