Wir stoßen beim Zusammenführen in Mercurial auf ein Problem, bei dem Änderungen mit Leerzeichen zu Konflikten beim Zusammenführen führen, die alle "echten" Konflikte verdecken und das Zusammenführen zu einem Albtraum machen. Wir haben vor kurzem einen neuen Formatierungsstil eingeführt, der die Einrückung der Dateien in einigen Zweigen verändert hat, und seitdem ist das Zusammenführen fast unmöglich geworden.
Versuchen Sie es zum Beispiel:
hg init testrepo
cd testrepo/
echo "This is text." > newfile.txt
hg add newfile.txt
hg commit -m "Created a file."
hg branch newbranch
echo "This is some more text." > newfile.txt
hg commit -m "Changed text in the file."
hg update default
echo " This is text." > newfile.txt
hg commit -m "Added indentation whitespace."
Daraus ergeben sich zwei Zweige, einer mit Leerzeichenänderungen, der andere mit Textänderungen:
@ 2 " This is text".
|
|
| o 1 "This is some more text."
|/
|
o 0 "This is text."
Beim Versuch einer hg merge
erhalte ich einen Konflikt bei der Zusammenführung. Wenn wir in jeder Zeile Konflikte haben, wird es schwierig und zeitraubend, die "echten" Konflikte auszusortieren. Ich würde es vorziehen, wenn der Zusammenführungsprozess denken würde: "OK, Änderungssatz 2, Zeile 1 unterscheidet sich nur durch Leerzeichen vom übergeordneten Satz, also wird er als unverändert betrachtet. Wähle Änderungssatz 1, Zeile 1 als das zusammengefasste Ergebnis".
0 Stimmen
@SyntaxT3rr0r: Danke für den Hinweis - ich war mir der Go-Lang nicht bewusst und habe sie mit Interesse gelesen. Wie eine Art Python / Java-Hybrid.
0 Stimmen
Mögliches Duplikat: stackoverflow.com/questions/3515597/