2017-03-21 4 views
1

Hinzufügen von annotierten Funktionen zu einer vorhandenen Quelldatei erzeugt falsch ausgerichtete Diffs. Betrachten wir zum Beispiel die provideNewThing Methode ergänzt:Kann Git Diff-Parameter die Quellcodeänderung verbessern?

@Provides 
Foo provideFoo() {...} 

@Provides 
NewThing provideNewThing() {...} 

@Provides 
Bar provideBar() {...} 

Lauf git diff auf der Kommandozeile zeigt:

 @Provides 
    Foo provideFoo() {...} 

    @Provides 
+ NewThing provideNewThing() {...} 
+ 
+ @Provides 
    Bar provideBar() {...} 

Das ist nicht ideal. Es scheint, dass ich die @Provides-Annotation zu provideBar eingeführt habe. Ein genauerer Blick zeigt das Gegenteil, aber es ist leicht zu übersehen.

Im Idealfall gibt es eine git diff <some-options> die Ausgänge:

 @Provides 
    Foo provideFoo() {...} 
+ 
+ @Provides 
+ NewThing provideNewThing() {...} 

    @Provides 
    Bar provideBar() {...} 

ist das möglich?

+0

Haben Sie 'git diff --diff-algorithm = geduld' versucht? –

+0

Ja, die von git angebotenen diff-Algorithmen verhalten sich in diesem Beispiel gleich. –

Antwort

1

Ja, manchmal kann die diff-Ausrichtung schwierig zu identifizieren sein. In diesem Fall ist es einfach, aber ich habe Szenarien erlebt, die ich verfolgen muss, was wo hinzugefügt wurde. Ich benutze kdiff3 - Manual diff alignment.

Zum manuellen diff Ausrichtung in KDiff3 hinzufügen:

  • Wählen Sie Text in einem Kind Fenster
  • Hit Strg + Y
  • Markieren Sie Text in einem anderen Kind Fenstern
  • Hit Strg + Y

Illustration

Beachten Sie die Diff-Ausrichtung im angehängten Screenshot.

+0

Ich habe mit der Idee gespielt, ein gefenstertes Diff-Tool für schnelle Reviews zu konfigurieren; es scheint nie sinnvoll. Für große Bewertungen rockt dieses manuelle Diff-Alignment! –

Verwandte Themen