Konvertieren von Dateien (mit Git nachverfolgt) von Java nach Kotlin in Android Studio

8

Eine Konvertierung von Java zu Kotlin in Android Studio 2.3.2 (in 3.0 das gleiche Verhalten) erstellt eine neue Datei und löscht die vorherige. Git kennt diese Konvertierung also nicht. Und die git Geschichte spart nicht. In Intellij Idea ist alles in Ordnung. IDE benennt einfach Datei um und git speichert den Verlauf. Wie kann das gleiche in Android Studio.

    
Eugene Verichev 01.06.2017, 14:29
quelle

3 Antworten

10

Mit Git werden Umbenennungen von hinzugefügten / entfernten Dateipaaren vorgenommen, jedoch nur dann, wenn diese Dateien nahe genug sind, d. h. wenn die Datei ohne oder mit wenigen Änderungen umbenannt wurde.

Wenn Sie eine Java-to-Kotlin-Konvertierung anwenden, ändert sich normalerweise jede Zeile einer Datei, so dass Git nicht feststellen kann, dass diese alten und neuen Dateien irgendwie miteinander in Beziehung stehen.

Sie können stattdessen den folgenden zweistufigen Ansatz verwenden:

  • Ändern Sie einfach die Erweiterung von .java file in .kt und committen Sie es;
  • benenne es um, verwende die Konvertierung und übertrage die modifizierte .kt -Datei.
Ilya 02.06.2017, 03:48
quelle
0

Git verfolgt die Umbenennungen nicht direkt; Es leitet sie basierend auf Datei hinzufügen / löschen Paare. Ich nehme an, dass Idea beim Umbenennen ein git add ausführt, wohingegen Android Studio nur die alten Dateien löscht. Versuchen Sie, git add für die neuen Dateien und git rm für die alten Dateien selbst auszuführen, und Git sollte sie als Umbenennungen anzeigen.

    
adzenith 01.06.2017 15:15
quelle
0

Wie in den anderen Antworten erwähnt, verfolgt git den Inhalt der Datei, nicht ihre Umbenennungen. Wenn git log mit der Option --follow ausgeführt wird, wird der Verlauf neben Umbenennungen angezeigt. Eine Datei wird jedoch nur dann umbenannt, wenn der vorherige und der aktuelle Dateiinhalt einen Ähnlichkeitsindex von 50% oder mehr aufweisen, dh weniger als die Hälfte der Zeilen der Datei haben sich geändert.

In diesem Fall, in dem sich die meisten Zeilen geändert haben, können Sie mit der Option -M eine untere Leiste für den Ähnlichkeitsindex festlegen:

%Vor%

Je nach Fall müssen Sie möglicherweise sogar unter 20% gehen.

    
Giorgos Kylafas 31.07.2017 13:39
quelle