Wie gut Pythons Leerzeichen Abhängigkeit Interaktion mit der Quellcodeverwaltung in Bezug auf die Verschmelzung?

StackOverflow https://stackoverflow.com/questions/119399

Frage

Ich frage mich, ob die Notwendigkeit, die Vertiefung des Codes zu ändern, die Verschachtelung anzupassen hat schädliche Auswirkungen auf die Änderungen in einem System wie SVN zusammengeführt werden.

War es hilfreich?

Lösung

Es funktioniert so lange in Ordnung, wie jeder an dem Projekt zugestimmt hat, den gleichen Leerzeichen Stil (Leerzeichen oder Tabulator) zu verwenden.

Aber ich habe Fälle gesehen, wo ein Entwickler eine ganze Datei von Leerzeichen zu Tabulatoren umgewandelt hat (ich glaube, von Eclipse hatte, dass als ein Merkmal, gebunden an Strg + Tab!), Die Spek diffs nahezu unmöglich macht.

Andere Tipps

Ich habe Python verwendet, um mit SVN und Mercurial, und habe keine Probleme zu verschmelzen.

Es hängt alles davon ab, wie der diffing getan wird - und ich vermute, dass es Zeichen-für-Zeichen, die den Unterschied zwischen einer Einrückungslevel und andere bemerken würden

.

Generell Quelle Steuerungssysteme verschmelzen auf einer Zeile-für-Zeile-Basis standardmäßig. Ich habe, dass Python verschmelzenden Code gefunden ist nicht anders anderen Quellcode aus der Verschmelzung, die vernünftigerweise eingerückt ist. Wenn ein Programmierer einen Code-Block in einer if Anweisung (Einrücken den ganzen Block) wickelt, und ein anderer Programmierer ändert sich etwas in den Block, dann wird es ein Merge Konflikt. Glücklicherweise ist der Konflikt in diesem Fall super einfach zu lösen.

Wenn Sie ein externes Merge-Tool verwenden, dann ist Ihr Werkzeug kann ausführlichere Textzusammenführung Algorithmen unterstützen, die automatisch das oben beschriebene Szenario berücksichtigt werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top