Mit TFS, habe ich Stamm $/project/trunk
und einen Zweig $/project/dev/feature/new_one
.Finden Sie den TFS-Pfad der verschmolzenen Zweig
Ich habe meine Zweig mit dem Stamm zusammengeführt wie folgt:
C33($/project/trunk)
| \
| \
| C32($/project/dev/feature/new_one)
| |
| |
| |
...
ich die TFS-API verwenden, und die Zusammenführung changeset C33 finden. Mit dem Verfahren QueryMerges()
, ich bin in der Lage, die Eltern changeset C32 mit allen Änderungen an den Dateien zu finden, aber nicht die Informationen, die ich brauche :(
Gibt es eine Möglichkeit, den TFS-API, das Repository zu finden Pfad der Branche $/project/dev/feature/new_one
?
Mit dem changeset C32 verschmolzen, bin ich nur in der Lage Pfade von modifizierten Dateien zu erhalten, wie $/project/dev/feature/new_one/path/to/file.txt
aber ich bin nicht in der Lage des Weg der Branche aus dem vollständigen Pfad der Datei zu extrahieren :(
PS: Eine Lösung funktioniert seit TFS2008 wird die beste sein, aber wenn es nur seit 2010 funktioniert, sollte es gut sein ...
PS2: Um dieses Problem zu lösen helfen Changesets in git-tfs zu verwalten fusionieren, die ich entwickeln ...
Diese Lösung ist meine Fallback, aber es gefällt mir nicht aus 2 Gründen: 1. Wenn Ihre Eltern Zweig ist kein Zweig, aber immer noch ein Ordner in tfs, können Sie es mit QueryRootBranchObjects() und kann nicht finden Sie es 2. Wenn Sie mehrere Zweige haben Name dev, dev/test, dev/test2, dev/test3 und in Ihrem Quellcode haben Sie einen Ordner "test" könnte es feststellen, dass der gute Elternzweig ist "dev" und in der Tat war es "dev/test". Sie können nicht 100% sicher sein :(Auch wenn es in seltenen Fällen ... – Philippe
Ich habe eine Bearbeitung gemacht. 2. Ist einfach genug zu lösen, und es ist nicht möglich, einen Zweig '$/dev' dann einen anderen zu haben verzweigen Sie unter $/dev/test.TFS erlaubt dies nicht im Verzweigungsschritt. –