2016-07-25 13 views
0

Wie/wo werden Links von Commits auf Git-Repositories in TFS gespeichert gespeichert?Wie werden Links von TFS Git commit gespeichert

Wir haben eine Instanz eines Commits, das wir im Repo sehen können, und wenn wir dieses Commit in der Web-UI betrachten, zeigt es auf ein Workitem zurück. JEDOCH, wenn wir das Arbeitselement öffnen und die Links betrachten, die das gleiche Commit NICHT erscheinen.

Weiter, wenn wir auf die Diskussion Nur einen Teil der Geschichte für die Arbeitsaufgaben in Frage betrachten, können wir nur 5 von 6 Commits bemerken. Und um Probleme noch weiter zu komplizieren, gibt es ein zusätzliches Commit (von einem anderen Benutzer), das nicht im Verlauf erscheint, für das aber ein Link vorhanden ist.

Weiß jemand, was passieren könnte? Ich kann glauben, dass ein Benutzer einen der Links in der Arbeitsaufgabe gelöscht haben könnte, aber selbst dann würde ich erwarten, etwas in der Geschichte zu sehen, sowohl für dieses als auch für das andere Commit.

dank

Antwort

0

Wie/wo Links sind von Commits auf repos Git in TFS gehostet gespeichert?

In der TFS-Datenbank. Wenn ein Git-Commit einen Verweis auf ein Arbeitselement enthält und das automatische Verknüpfen von Arbeitselementen aktiviert ist, werden die Links erstellt, wenn dieses Commit an den Server gesendet wird. Aber das ist eine einmalige Operation. Anschließend können die Links innerhalb von TFS frei bearbeitet werden. Die Änderungen sind jedoch nur über die TFS-Schnittstelle (Web-UI oder API) sichtbar. Das Commit kann nicht mehr bearbeitet werden, da das Editieren seinen Hash ändert, so dass keine Synchronisation durchgeführt werden kann.

Weiter, wenn wir auf die Diskussion Nur einen Teil der Geschichte für die fraglichen Work Items schauen, können wir nur 5 von 6 commits notiert sehen. Und um Probleme noch weiter zu komplizieren, gibt es ein zusätzliches Commit (von einem anderen Benutzer), das nicht im Verlauf erscheint, für das aber ein Link vorhanden ist.

Von dem, was ich gesehen habe, werden nur die automatisch verknüpften Commits in Diskussion angezeigt. Dieses andere Commit wäre nur sichtbar, wenn man sich die gesamte Geschichte ansieht. Dort können Sie sehen, wer wann hinzugefügt hat. In ähnlicher Weise würde, wenn ein Link in der Vergangenheit vorhanden war, ob automatisch verknüpft oder manuell hinzugefügt, aber seitdem gelöscht wurde, der vollständige Verlauf anzeigen, wer ihn wann gelöscht hat.

+0

Ich habe jeden Eintrag in der Geschichte für das Arbeitselement durchlaufen, und es gibt keinen Verweis auf das Commit überhaupt. Nein fügt hinzu. Keine löscht. Ich kann keinen Verweis auf das Commit des Arbeitselements sehen. Die einzige Referenz ist FROM commit TO für das Arbeitselement. Wir haben das Commit gefunden, indem wir uns das Git-Log angesehen haben. Dann haben wir das Commit über die WebUI für TFS/Git nachgeschlagen. Das war der Zeitpunkt, als wir den Link zu dem Arbeitselement sahen, das wir nicht erklären können. Deshalb habe ich gefragt, wo es gespeichert ist und ob es eine Möglichkeit gibt, weitere Informationen über diesen Link zu erhalten. –

0

Ich finde heraus, wie das gemacht wurde.

Es gibt eine Funktion in der TFS-Benutzeroberfläche, mit der Sie einem vorhandenen Commit einen Kommentar hinzufügen können. Sobald Sie zu einem Commit navigieren, gibt es einen kleinen Kommentarballon mit einem grünen Pluszeichen. Der Text in der Schwebezeile lautet "Fügen Sie einen allgemeinen Kommentar für dieses Commit hinzu". Wenn Sie einen Verweis auf ein Arbeitselement hinzufügen, indem Sie beispielsweise # 123456 eingeben, wird eine Verbindung zwischen dem Commit und dem Arbeitselement erstellt. Es wird jedoch weder eine Verknüpfung in der Arbeitsaufgabe erstellt, noch wird ein Eintrag zum Verlauf für diese Arbeitsaufgabe hinzugefügt.

Dies ist eine Art von Einweg-Link, die, ich vermute, nicht, was Microsoft beabsichtigt, da es eine Inkonsistenz in der Art und Weise erstellt, wie Verknüpfungen zwischen Arbeitselementen implementiert werden.