Es gibt kein allgemein verbreitetes Werkzeug, um dies zu tun, also müssen Sie Ihr eigenes schreiben. Ich würde ein Bash-Skript schreiben, das indent
mit verschiedenen Parametern aufruft, um eine große Anzahl alternativer Versionen der ursprünglichen Quelldatei zu erstellen, und dann die "beste" diff
Ausgabe für jede alternative Version findet, wobei "best" einfach die geringste Anzahl geänderter Zeilen ist .
Nach meiner Erfahrung können Sie das Problem partitionieren, wenn Sie wissen, wer den Originalcode geschrieben hat. Programmierer neigen dazu, langfristige Formatierungsgewohnheiten anzunehmen, die sich von Programmierer zu Programmierer unterscheiden.
Sie sollten damit rechnen, dass selbst in den besten Fällen die eingeführten Differenzen indent
svn / git blame unbrauchbar machen. Dadurch werden Sie wahrscheinlich gezwungen, entweder eine bestimmte indent
Richtlinie für den gesamten Code zu übernehmen und ein neues Repository mit automatisch formatiertem Code zu starten, oder die gesamte Idee einfach aufzugeben. Ein Repository mit mehreren unterschiedlichen indent
Richtlinien wird wahrscheinlich mehr Verwirrung und Ärger verursachen als davon profitieren.
Wenn Sie an neuem Code arbeiten und nicht nur geringfügige Änderungen an vorhandenem Code vornehmen, empfiehlt es sich, alle Mitwirkenden vor der Übermittlung von Code zur Verwendung einer bestimmten Richtlinie indent
oder einer astyle
Richtlinie zu verpflichten. Sie können dies auch mithilfe von Hooks für svn / git commit tun. Dies kann jedoch in seltenen Fällen zu Kompilierungsfehlern oder sogar zu Fehlern führen. Wenn Sie in einer Organisation arbeiten und kein Online-Projekt ausführen, in dem Sie der Gatekeeper sind, benötigen Sie einen Manager mit ausreichender Berechtigung, um die Richtlinie durchzusetzen, da die meisten Programmierer bereits aus jahrelanger Erfahrung wissen, dass ihre eigene Formatierung die einzige ist korrekte Weise und alle anderen Formatierungen sind ungültig.