2013-12-12 152 views
1

我們的團隊中有多位開發人員。除了一個開發人員,這適用於每個人,但我們似乎無法找到它不適用於此人的原因。我們都安裝了VS premium +,TFS 2012電動工具。TFS 2012未檢測到待處理更改中的已刪除文件

我們有一個分支。我們從分支機構獲得最新版本。轉到Windows資源管理器並刪除文件夾「sdk」中的所有文件(在sdk /中不存在子目錄)。然後我們複製一大堆文件。 (與刪除的文件相比,這樣可以有效地將一些文件保存爲新文件,更新文件,相同文件或刪除文件。)

當我們轉到未決更改時,這些更改顯示在「排除更改 - 添加(s) 51,刪除(3)「。

除一位開發人員外。他的系統無法識別這些變化。什麼可能導致這不適合他?

如果它可以幫助解決,他也說,如果他是通過電動工具刪除這些文件刪除Windows資源管理器的選擇,他的.dll文件被鎖定的唯一開發商。這對任何其他人都不會發生。

這是我們迄今爲止檢查:

Settings Settings Settings Settings Settings

編輯:發現的解決方案 - 謝謝大家的答覆!這確實是本地vs服務器工作區選項。將他的工作空間設置爲本地解決了這些問題以及他顯然擁有的其他一些問題。

+0

你怎麼看「他的系統無法識別這些更改」,在Pending Changes窗口 – Snorre

+0

,下包括的變化有一個名爲查看選項菜單。你可以檢查這是否設置爲全部顯示?如果將其設置爲顯示解決方案更改,則會隱藏不屬於此解決方案的所有更改 – Snorre

+4

而且您確認他使用「本地工作區」作爲您使用的? – Isaiah4110

回答

2

確保開發人員使用「本地工作區」而不是「服務器工作區」。

這是TFS 2012中引入的一個概念,它幫助開發人員脫機工作,而不是早期版本中不支持的服務器工作空間。 TFS 2012改變了工作區選項。服務器工作空間仍然可用,並且它們在以前的版本中具有完全相同的功能。但是,TFS 2012現在包含一種稱爲本地工作區的新類型的工作區。再一次,這是一個過分簡單化,但在本地工作區中,所有文件都是讀/寫的,而不是隻讀的。有關這些文件的元數據存儲在工作區根目錄中的隱藏文件夾中,這允許在本地完成編輯,重命名和刪除操作,而無需與服務器進行任何通信。

這顯着改善了TFS的離線故事,因爲您不再遇到編輯只讀文件的問題。它還使得使用其他工具(如記事本)更容易編輯代碼文件。使用記事本對代碼文件進行更改仍然會將該文件標記爲已編輯,下次連接時將由TFS提取。

LINK

1

此當用戶與源控制的局部視圖篡改只有沒發生(可能是一個本地工作區,或不是)。如果你所做的只是從TFS獲得最新版本,那麼永遠不會發生,相反,對TFS中的內容的本地視圖將始終得到妥善管理。

而且聽起來像一個壞的合併,例如獲取最新版本(文件不再存在的地方),然後複製舊內容(引入未跟蹤的文件)。您可能試圖解決此問題的一件事是在嘗試合併之前刪除本地工作區內容後,從TFS強制執行。這將確保本地工作空間與TFS服務器相信的真實情況保持一致,如果在合併內容後它仍然存在,那麼問題幾乎肯定在用戶正在經歷的合併過程中(即PEBKAC或)

如果您將舊內容(預刪除)拖放到本地工作空間中(根據SCC已經執行了刪除操作,並因此在本地因爲同步/得到最新版本),那麼未保存的文件將會實際上變得無法跟蹤,這取決於用戶清理混亂。這與用戶將鬆散文件複製到TFS從未有過的任何知識的工作空間中是一樣的。 TFS不會爲你修剪未跟蹤的文件,我相信其他一些源代碼管理工具可能會將其作爲可配置的默認值,TFS不會。

,這只是發生在一個團隊開發表明,其他開發者,一次一個,應該與該開發坐下來,用「自己的過程」,看它是否仍然出現爲他們開車。通常情況下,這歸結於用戶採用的糟糕流程,將不同人員放在椅子上可以幫助強調爲什麼會發生並幫助結束它。有紀律的構建/源代碼管理者和/或開發者不應該遇到這個問題。

非常有興趣知道問題的原因。

+0

特別是,這不是更新sdk內容的正確方法:「轉到Windows資源管理器並刪除文件夾」sdk「中的所有文件(在sdk /中沒有子目錄),然後我們複製一堆文件。 「 適當的方法是從VSTUDIO中刪除SDK,提交更改,然後添加一個新的SDK文件夾。或者,您希望識別每個已刪除的文件並從VSTUDIO中刪除它。 以這種方式(從Windows資源管理器)刪除和更新文件會導致磁盤上的內容和TFS/VSTUDIO認爲的正確狀態之間的異步。 –

+1

沒錯。這就是爲什麼本地工作區會執行此掃描並進行適當的更改,以便您可以隨時在Windows資源管理器(或任何其他工具)中進行更改,並使其適當地掛起。 –

相關問題