很多时候,在使用 Svn(或其他版本控制系统)时,程序员会提交一些更改并破坏构建。例如,因为:
- 创建了一些文件,但未在版本控制下添加
- 在一个文件夹中进行了更改,但程序员认为它是另一个文件夹并提交了它
- 更改了几个子文件夹中的文件,但只提交了一个文件夹
- 程序员更改了一些代码,但没有编译它(“因为它很容易更改!”)
- 等等
损坏的构建是一件坏事——浪费时间,打断其他人的工作,避免它会很好。所以我正在寻找一些 svn (git?) client\tool\plugin,它有“提交前”的钩子,它可以检查一些基本的东西,比如:
- 如果文件夹包含不受版本控制的某种类型的文件(比如说“cpp”) - 显示警告
- 如果文件夹包含项目文件(来自 VS 或其他 IDE)并且此项目文件包含对不受版本控制的文件的一些引用 - 显示警告
- 如果文件夹包含项目文件和某种类型的文件(让我们再次说“cpp”)工具应该(可选)尝试使用项目文件中的设置构建此文件,并在文件未编译时显示警告
我试图找到这样的工具 - 但没有成功。现在我有想法自己创建这样的工具(基于插件的架构能够轻松添加对新项目类型、文件类型和版本控制类型的支持)。但是在开始使用这个工具之前,我想问一下——也许我错过了一些东西,而这样的工具已经存在了?
谢谢