EGit: Wie kann die Schnellvorlauf-Zusammenführung verhindert werden?

8

Die Firma, für die ich arbeite, gab mir das Projekt, ihr Java-Projekt von CVS nach Git zu verlegen. Aus mehreren Gründen möchten sie kein anderes Werkzeug als Eclipse verwenden. Also stecken wir bei EGit fest.

Ich habe viel gesucht, um einen an unser Projekt angepassten Workflow zu finden. Dieser schien ziemlich relevant zu sein und von vielen Leuten benutzt zu werden: Ссылка

Das Problem ist, dass wenn wir versuchten, zu sehen, wie es mit EGit mit Commits, Zweigen & Amp; merges, eine Menge Fast-Forward-Merge passiert ist. Das Problem bei Fast-Forward-Zusammenführungen ist, dass Sie den Startpunkt der Verzweigung verlieren .

Der Kunde, für den wir arbeiten, möchte auswählen können, welche Features in der nächsten Version sein werden und welche nicht. Das ist einer der Hauptgründe, warum wir von CVS zu Git wechseln wollen, weil es in CVS nicht einfach zu finden war, welche Dateien aufgrund von Feature # 1 verändert wurden und welche Dateien für Feature # 2 modifiziert wurden. In git können wir Zweige für Feature # 1 & amp; # 2 und finden Sie heraus, welche Dateien für diese Funktionen geändert wurden. Aufgrund des schnellen Vorlaufs ist es jedoch so, als würde man zurück zu CVS gehen. Wir können nicht wissen, welches Merkmal Nr. 1 und welches Merkmal Nr. 2 ist.

Gibt es eine Möglichkeit, eine schnelle Verschmelzung zu verhindern? Wir haben versucht, diese Konfigurationen in Eclipse einzufügen:

%Vor%

Aber es hat EGit nicht daran gehindert, die Schnellvorlauf-Zusammenführung durchzuführen. Wenn diese Funktion nicht mit JGit / EGit implementiert wird, gäbe es einen anderen Weg, einen Workflow mit Egit zu haben, der dem folgt, was der Kunde wünscht (Möglichkeit, Funktionen für die Freigabe zu wählen). Das Verwenden der Befehlszeile würde wahrscheinlich das Problem lösen, aber wenn es möglich ist, es in Eclipse zu behalten, wäre das nett.

Danke

    
Cyril 24.07.2012, 10:02
quelle

3 Antworten

7

EGit Bug 336933 war über die Unterstützung dieser Optionen, und es wurde mit EGit 2.3 behoben, Siehe Versionshinweise .

Wenn Sie 2.3 noch nicht verwenden, könnte ein (hässlicher) Workaround wie folgt aussehen:

  • Überprüfen Sie vor dem Zusammenführen, ob es zu einer Schnellvorlauf-Zusammenführung über die Verlaufsansicht
  • kommen würde
  • Wenn dies der Fall wäre, machen Sie eine Commit im Master (oder in der Verzweigung, in die Sie einfügen möchten) in einer nicht verwandten Datei
  • Führen Sie dann die Zusammenführung durch
robinst 24.07.2012 10:20
quelle
2

Beachten Sie, dass Egit jetzt mit der Version von Egit 2.3 diese Option unterstützt :

  

Unterstützt git merge --no-ff als EGit-Präferenz.

Damit ist Fehler 335091 abgeschlossen.

    
VonC 22.02.2013 12:54
quelle
1

Es sieht so aus, als ob es nicht möglich ist, da JGit einige Optionen zum Zusammenführen nicht unterstützt, einschließlich --no-ff.

Siehe diesen Beitrag , es gibt einen Fehlerbericht dazu.

    
CharlesB 24.07.2012 10:13
quelle

Tags und Links