2014-02-27 39 views
0

我使用Visual Studio 2012與TFS進行版本控制;還要cmd.exe來運行tf命令。 對於我工作的分支,我的工作空間中的變更集(CS)比服務器上的最新變更集舊(較低)。分支屬性中的TFS:Latest_Version_與最新_Changeset不同:爲什麼?

根據此分支的歷史列表,服務器上的最新CS爲12066。 (也是命令「tf history。/ r/noprompt/stopafter:1/version:T」的結果)

我的工作空間的CS(對於同一分支)是12015(命令的結果是「 tf history。/ r/noprompt/stopafter:1/version:W「)

到目前爲止,都清楚了。但是然後我打開VS中分支的屬性彈出:源代碼管理資源管理器> r - 單擊分支>高級>屬性

彈出一個屬性彈出窗口,它顯示: 最新版本:12046根據歷史清單,最新的變更集爲12066) 工作區版本:11108(我預計在此處的工作區版本爲12015)

當我運行命令「tf info」(「tf properties 「在VS2010中)爲這個分支。

爲什麼最新版本的屬性與歷史最新版本不同? 爲什麼工作區版本的屬性與歷史命令中的工作區版本不同/ version:W?

我查閱了屬性命令的幫助頁面,但這仍然讓我感到困惑。 (http://msdn.microsoft.com/en-us/library/tzy14b58(v=vs.100).aspx

1日回答(實在是太長了直接在你的答案評論)====

如果我理解正確的話,3枝的歷史紀錄,而產生=====評論來自1位家長,必須相同。 但是,它不是:頂部的Changeset對於每個分支都是不同的;另外,閱讀簽入註釋並檢查更改集的詳細信息,每個分支的歷史列表是不同的,並且實際上只列出了爲該分支完成的更改。

離散事件(=父)12066(最高低於3)

- FooBranch1 10139

- FooBranch2 12066

- FooBranch3 12047

@Dylan:

然後,11109到12015之間的所有變更集都是不影響該分支的變更集。

這實際上並不適用:事實上:這些變更集中的大部分都會影響這個分支;它是我上面提到的3個最活躍的分支。

回答

2

我不知道肯定,但這裏是我的理論(你必須諮詢你的歷史記錄,以確認/否認):

分支屬性彈出只顯示你的相關版本爲分支機構(因此影響分支的簽入)。儘管歷史命令正在尋找在TFS所有的變更。

所以服務器上的最新變更爲12066,但受影響的該分支的最新變更爲12046.

11108將是一個變更到該分支,然後之間的11109至12015的所有的變更是變更集,唐」不會影響該分支。你做了一個獲取最新最後在變更12015.所以最後變更到分支你在本地工作區已經是11108,但你把所有的非分支的變更高達12015.

+1

沒錯!變更集適用於整個存儲庫。所以你可以在本地修改5個'$/Foo',服務器可以在變化集6上,它根本不觸及'$/Foo' *,如果你做得最新,你的工作空間版本現在是6,儘管變更集6並沒有使你的工作文件夾改變的事實。 –

+0

答案並不能說明我的情況:我見,我最初的問題產生額外的評論。 – user882021

相關問題