2016-03-02 11 views
0

我面臨的問題,我不能修改變更集的CreationDate在TFS 2015年 使用Microsoft.TeamFoundation.VersionControl.Client.dll我可以設置後變更集的不同CreationDate登記入住到TFVC - 2015年TFS

$changeset = $versionControlServer.GetChangeset("2656") 
    $changeset.CreationDate = $(get-date).AddDays(-90) 
    $changeset.Comment = "bla-bla-bla" 
    $changeset.Owner = "test\test1" 
    $changeset.Committer = "test\test1" 
    $changeset.CommitterDisplayName = "test\test1" 
    $changeset.OwnerDisplayName = "test\test1" 

    $changeSet.Update() 

嘗試運行$changeSet.Update()方法後,結果不好。只有$changeset.Comment = "bla-bla-bla"被應用,其他屬性不成功。

所以,我的問題是:

  1. 我怎樣才能修改屬性CreationDate, Committer等不直接干預到數據庫
  2. 爲什麼這個屬性是隻讀?
  3. 也許有些政策阻止我這樣做?

回答

1

爲什麼你想要改變入住日期?

該API不會讓你這樣做,直接編輯TFS SQL數據庫不受支持。如果你決定這麼做,那麼你很有可能會破壞某些東西,所以確保你有一個當前的備份。

這就是說,有一個類似的問題在這裏:Modify CreationDate for TFS Changeset

+0

我有自2009年以來提交的git倉庫。 因此,主要目標是將它從Git移到Tfvc。 我使用Git-tf工具。它工作正常,但我不能保留提交的原始日期。我已經設法保留承諾和用戶的年表,但原始日期沒有。 – SAP

+0

@SAP您可以直接將Git倉庫推入TFS(假設您使用的是TFS 2013或更高版本)。無需遷移到TFVC。 –

0

TFS 2015年的支持和主辦Git倉庫以及TFVC。如果您將Git倉庫添加到您的團隊項目中,您可以將其添加爲額外的遠程和推送。這將帶來所有的歷史,不需要扼殺歷史。

如果你必須從Git移動到TFVC(不推薦,因爲Git好得多),那麼你可以使用Git-TF在兩者之間推送代碼。

http://nkdagility.com/migrating-codeplex-github/

以上是反向的例子,但你應該能夠:

  1. 克隆了正確的文件夾中TFVC從現有的Git回購
  2. 力推獻給TFVC連接的一種
  3. 推到TFVC

由於TFVC是審計沒有w ^可以繞過日期問題。

好吧,所以我撒謊,有一種方法。

  1. 創建一個新的空收藏
  2. 創建團隊的項目,並不檢查
  3. 使用API​​導入每個變更和日期應該是可寫的。

......這被允許支持VSS到TFVC的遷移,你的米勒可能會有所不同。

+0

感謝您的建議。我設法取得了成功的結果。我使用TFS API來修改更改集消息。在我的情況下更容易獲得 – SAP