Ste*_*fan 27
使用预提交钩子脚本,你可以做到这一点,是的.但我确信你会在第一次提交后删除该脚本,因为你会遇到大问题.
如果修改提交的数据,则客户端不知道该提交的数据.因此,在您的脚本"修复"文件格式的提交之后,存储库中的文件内容与工作副本中的文件不同.但是你的工作副本仍然认为它与存储库是最新的(毕竟,它的修改刚刚提交).
所以在下次更新时,你会陷入地狱 - 破碎的工作副本,愤怒的用户,......
当然,您可能会破坏构建 - 自动格式化有时会产生这种影响.
您当然可以实现一个钩子脚本来检查正确的格式,如果没有则返回错误,这非常好.
因为您正在使用TortoiseSVN,所以您可以尝试在客户端预提交挂钩中进行格式化.
Yoo*_*eek 16
你在战争的地面上感动.与人们的格式一致的是要求干草叉和火把.
我的建议:不要.
更不用说,如果你正在谈论C#,而你的开发人员正在使用Visual Studio,那么VS有很多自动格式化工具.只需输入结束的大括号,VS就可以/自动格式化你的代码.
更好的解决方案可能是让所有开发人员使用相同的自动格式设置.
工具 - >选项,文本编辑器 - > C# - >格式
这些设置是可导出的,因此如果您可以让团队同意在VS中使用相同的代码格式设置,您可以避免在源代码管理系统中执行它的麻烦,最好留下它做得最好的事情.
如果你一直在努力做到这一点,就像其他人所说的那样,预先提交钩子就是要走的路.如果您在Windows上运行SVN服务器,我是否可以推荐CaptainHook编写您的钩子脚本?可以使用任何.NET语言编写的可插入的钩子脚本.
我强烈推荐它.
使用预提交脚本或更好的方法,找到一种在IDE中自动执行的方法(预提交将把更改的文件推送到客户端).Eclipse可以在保存时自动格式化.
这样做的理由是,如果开发人员的格式不同,你会发现提交它们的文件,其中提交只是格式化更改,这将导致无休止的混淆.
一种常见的格式化模式是一个非常好的主意.这将很难介绍,但它是值得的.所有更改都将是真正的更改,而不仅仅是格式更改.根据我的经验,开发人员将看到好处并接受它.
我使用过cvs和java,并使用jalopy进行自动格式化.我们使用的是分支系统,因此它是强制性的,而且效果非常好.