当有人提交具有非法文件名的文件时,更新subversion工作副本

时间:2011-10-13 08:56:20

标签: windows macos svn cross-platform filenames

我正在与Mac OS X和Windows 7用户合作开展一个项目。 SVN用作版​​本控制系统。当使用Mac OS X的人提交包含“字符”的文件时,问题就出现了。这个字符在Mac OS文件系统下是允许的,但不在Windows下。因此,没有人使用Windows可以从存储库更新或重新签出。

有没有办法

  • 从svn
  • 中完全删除错误的修订版
  • 或通过以某种方式更改存储库中的旧版本来重命名所有版本中的文件
  • 或允许“NTFS下的文件名中的字符通过一些黑客攻击
  • 或使svn服务器不允许非法文件名

我找到了一些解决方案,您可以使用svnadmin dumpsvnadmin load命令来删除错误的版本。但是,甚至转储整个存储库也需要很长时间。

1 个答案:

答案 0 :(得分:2)

您可以在新版本中使用svn move/rename重命名文件,这样当用户发出svn update时,他们就会获得一个有效名称的文件。实际上,更改存储库中的修订版本需要一些技巧,并且远离SVN的精神。

防止将来发生此类事情的最简单方法是在服务器中安装预提交钩子脚本。点击此处a nice description on how to install a pre-commit hook