开发者

Updating a subversion working copy when someone committed a file with an illegal file name

I am working on a project with both Mac OS X and Windows 7 users. SVN is used as the version control system. The problems started when someone using Mac OS X commited a file containing a " character. This character is allowed under the Mac OS file system, but not under Windows. Therefore, nobody using Windows can update or re-checkout from the repository.

Is there a way to

  • either remove the bugged revisions completely from svn
  • or renaming the file in all revisions by changing the old revisions on the repository somehow
  • or allowing " characters in file names under NTFS through some hack
  • or making the svn server disallow illegal file names

I've found some solutions where you use the svnadmin dump and svnadm开发者_JAVA技巧in load commands to obliterate the buggy versions. However, it takes ages to even dump the whole repository.


You can rename the file using svn move/rename in a new revision so when users make svn update, they'd get a file with a valid name. Actually changing revisions in the repository would require some hacks and is something way far from the spirit of SVN.

The easiest way to prevent this kind of thing happening in the future is to install a pre-commit hook script in the server. Check out here a nice description on how to install a pre-commit hook.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜