2016-03-24 21 views
3

OpsHub Migration Utility page上的以下文本指示用戶名和時間戳將嵌入遷移的變更集的註釋中。是否應該爲變更集遷移用戶名和時間戳?

有關源的元數據信息更改集與原始用戶名,原始簽入時間戳一樣,嵌入在更改集的遷移期間的更改集註釋中。 https://visualstudiogallery.msdn.microsoft.com/28a90a17-d00c-4660-b7ae-42d58315ccf2

爲什麼我沒有看到嵌入到變更集註釋中的這種元數據?

回答

3

該功能已於去年11月移至商用版,我懷疑他們需要更新visual studio gallery上的描述以反映這一變化。

我有一個批次的代碼,你可以在你的源服務器遷移之前將數據複製到變更的評論運行:

using System; 
using System.Collections.Generic; 
using System.Globalization; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

using Microsoft.TeamFoundation.Client; 
using Microsoft.TeamFoundation.VersionControl.Client; 

namespace TfsChangesetCommentEnricher 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      var collection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(
       new Uri("http://jessehouwing:8080/tfs/defaultcollection")); 

      var vcs = collection.GetService<VersionControlServer>(); 

      var changes = vcs.QueryHistory(new ItemSpec("$/", RecursionType.Full)); 

      foreach (var change in changes) 
      { 
       if (!change.Comment?.Contains("\r\n\r\n-- \r\nOriginally checked-in") ?? true) 
       { 
        change.Comment = string.Format(
         CultureInfo.InvariantCulture, 
@"{0} 

-- 
Originally checked-in 
* by: {1} ({2}) 
* on: {3:u} 
* in: {5} 
* id: {4}", 
         change.Comment, 
         change.Committer, 
         change.CommitterDisplayName, 
         change.CreationDate, 
         change.ChangesetId, 
         change.VersionControlServer.TeamProjectCollection.Uri); 

         change.Update(); 
       } 
      } 
     } 
    } 
} 

這將更新源服務器的變更,將嵌入在遷移之前的信息。這樣數據就成功地通過了。我拒絕爲此功能支付每個團隊項目1500美元。

又見

新特徵矩陣如下:

enter image description here

+0

非常感謝這個傑西! –

相關問題