Visual Studio: Anzeige des vollständigen Git-Commit-Verlaufs (einschließlich Umbenennungen)

8

Ich verwende Visual Studio 2015 und den Microsoft Git-Client. Ich habe Probleme beim Anzeigen von Verlauf und Anmerkungen mit dem Tool, da Visual Studio bei der Anzeige des Git-Verlaufs anscheinend keine Umbenennungen übernimmt. Gibt es einen guten Weg dazu?

Übrigens: Ich habe versucht, die Schaltfläche "Show Full History" in der Verlaufsanzeige zu verwenden, aber es zeigte immer noch keine Historie mit Umbenennungen

Folgendes habe ich zum Testen gemacht:

  1. In Visual Studio habe ich mit der rechten Maustaste auf die Datei geklickt und "Verlauf anzeigen" ausgewählt. (es hat nur 4 commits gezeigt)
  2. Im Verlaufsfenster habe ich auf "Show Full History" geklickt - immer noch die gleichen 4 commits.
  3. Von der git-Befehlszeile aus habe ich git log ausgeführt - folge TheFile.cs (es wurden 13 Commits erzeugt)
  4. In der Atlassian-Quellenstruktur habe ich das Protokoll für die Datei abgerufen und die Option "Gepfangene Dateien verfolgen" aktiviert. Es hat die gleichen 13 Commits wie die Befehlszeile gezogen.

Was ich wirklich möchte, ist eine Option in Visual Studio, die übereinstimmen würde. Ist das möglich?

    
JMarsch 21.09.2015, 18:52
quelle

1 Antwort

5

Visual Studio folgt dem Verlauf zwischen zwei Commits, um festzustellen, ob eine Datei umbenannt wurde. Hier habe ich eine einzelne Datei von ihrem ursprünglichen Namen in renamed umbenannt und gleichzeitig den Inhalt geändert:

Git verfolgt jedoch keine Änderungen zwischen zwei Commits - stattdessen vergleicht es die Snapshots der Commits, um festzustellen, wie sich die Dateien geändert haben. Daher gibt es keine Informationen zum Umbenennen im Repository-Verlauf. Stattdessen wird dies berechnet, indem die Datei im ursprünglichen Commit mit der Datei im nachfolgenden Commit verglichen wird. Wenn sie ausreichend ähnlich sind, wird Git dies als Umbenennung ansehen.

Da dies eine Heuristik ist, ist nicht garantiert, dass dies als Umbenennung angesehen wird. Visual Studio und Git für Windows sollten jedoch im Allgemeinen diesen Dingen zustimmen. Ich wäre neugierig, warum man das als Umbenennung meldet und das andere nicht. Es gibt zwei Möglichkeiten:

  1. Diese Datei ist sehr nahe am Rand der Ähnlichkeit - sagen wir, Git hat entschieden, dass die beiden Revisionen 61% ähnlich sind und sind daher eine Umbenennung, während Visual Studio entschieden hat, dass die beiden Revisionen nur 59% ähnlich sind, und sind daher nicht ein Umbenennen.
  2. Es gibt hier einen Fehler, bei dem Visual Studio die Ähnlichkeit nicht korrekt berechnet. Wenn ich raten müsste, würde ich vermuten, dass es ein Leerzeichen oder eine Zeilenendung gibt, denn das ist immer ein Problem in Git.

Wenn Sie die beiden Revisionen dieser Datei teilen können, würde das Öffnen eines Verbindungsfehlers oder das direkte Senden von E-Mails an mich weitere Untersuchungen unterstützen.

    
Edward Thomson 21.09.2015 20:33
quelle