我正在与mac os x和windows 7用户一起开发一个项目。版本控制系统采用svn。当有人使用mac os x提交一个包含“字符”的文件时,问题就开始了。此字符在Mac OS文件系统下是允许的,但在Windows下是不允许的。因此,没有人使用Windows可以从存储库中更新或重新签出。
有没有办法
要么从svn中完全删除有缺陷的修订
或者通过某种方式更改存储库中的旧修订来重命名所有修订中的文件
或者允许“在文件名中使用”字符
或使svn服务器不允许非法文件名
我发现了一些解决方案,您可以使用svnadmin dumpsvnadmin load命令来消除错误版本。然而,甚至要花费很长时间来转储整个存储库。

最佳答案

在新版本中,可以使用svn move/rename重命名文件,因此当用户生成svn update时,他们将得到一个具有有效名称的文件。实际上,更改存储库中的修订需要一些技巧,这与svn的精神相去甚远。
防止将来发生这种情况的最简单方法是在服务器中安装预提交钩子脚本。在这里查看a nice description on how to install a pre-commit hook

07-24 09:49
查看更多