2

我在一个相当大的项目(超过 100K 行代码)上工作,每个开发人员使用他们当时喜欢的任何风格都非常混乱(从大括号到变量名到文件名的所有内容都各不相同)。

通向代码同质化道路上明显的第一步是通过一个(或几个)代码整理工具运行代码,并确保所有代码在签入时都通过这些相同的工具运行(例如通过 jenkins)。

有没有任何明智的方法可以做到这一点,而不会完全破坏我们所有的版本控制历史?现在我可以查找一行代码并找出是谁编写的,然后在我们的票务系统中查找他们编写它的原因——我们是否需要放弃它?

我们目前使用单调,但在不久的将来很可能会转向 git,所以我对任何一个的答案都很感兴趣。

4

1 回答 1

1

不幸的是,我无法在 Monotone 中为您提供帮助,但就 Git 而言,您可以尝试使用.gitattributes文件的“涂抹”功能来自动运行您的整洁工具。Pro Git 有一个很好的部分介绍了如何使用 smudge/clean

要在不破坏历史记录的情况下清理过去的提交,请查看filter-branch。您可以完成每个提交并清理内容,并且仍然具有相同的提交消息/更改(在合理范围内 - 这可能会变得棘手)。

于 2012-06-18T11:54:11.863 回答