2016-03-24 8 views
3

Der folgende Text auf der OpsHub Migration Utility page zeigt an, dass der Benutzername und der Zeitstempel in den Kommentaren des migrierten Changeset eingebettet werden.Sollen der Benutzername und der Zeitstempel für Changesets migriert werden?

Metadateninformationen zu der Quelle Änderung, die wie der ursprüngliche Benutzername, der ursprüngliche Zeitstempel des Eincheckvorgangs festgelegt wurde, werden in Änderungssatzkommentare während der Migration für Änderungssätze eingebettet. https://visualstudiogallery.msdn.microsoft.com/28a90a17-d00c-4660-b7ae-42d58315ccf2

Warum bin ich zu sehen, diese Metadaten nicht in den changeset Kommentare eingebettet?

Antwort

3

Dieses Feature wurde letzten November in die kommerzielle Ausgabe verschoben, ich vermute, dass sie die Beschreibung in der Visual Studio Galerie aktualisieren müssen, um diese Änderung widerzuspiegeln.

Ich habe eine Batch-Code, den Sie auf Ihrem Quellserver ausführen kannst die Daten in den changeset Kommentar vor der Migration zu kopieren:

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(); 
       } 
      } 
     } 
    } 
} 

Dies wird der Quellservers Changeset aktualisieren und die Informationen vor der Migration einbetten . Auf diese Weise werden die Daten erfolgreich übertragen. Ich lehnte es ab, $ 1500 pro Team-Projekt für diese Funktionalität zu zahlen.

Siehe

auch die neue Feature-Matrix ist wie folgt:

enter image description here

+0

Vielen Dank für diesen Jesse! –

Verwandte Themen