为了方便分类,我经常会自定义文本文件的扩展名。比如json代表JSON格式的文本,md代表markdown格式的文本等等。这些文件都是纯文本文件,但svn在默认情况下,会将其识别成为二进制(bin)文件。
这样,在文件合并等操作时,就会出现问题。
用一句代码可以解决这个问题:
svn ps svn:mime-type text/plain *.md
处理完毕后,需要提交一次修改到服务器。

公司采用svn管理源码,因此我一直是用git svn来与svn服务器进行同步。由于当前工作的版本库中包含多个项目,而权限也没有细分,所以每个使用版本库的人都可以管理其他人的项目。这样一旦出现误操作,就会非常难以恢复。我前段时间就碰上了这样的事情,还好找回了大部分的文件。
解决的办法有两个:
在windows server 2003上通过cygwin安装git服务器未果后,我只能选择后者了。
当前工作的版本库的路径为:http://10.0.0.5:8080/svn/kaitian/trunk/fight/KTFight,其中kaitian是该版本库的根目录。
我在服务器上新建了一个版本库,名为ktfight,路径为:http://10.0.0.5:8080/svn/ktfight,希望这个版本库对应http://10.0.0.5:8080/svn/kaitian/trunk/fight的所有内容。
然后就是转移版本库的工作。原本考虑使用svnsync命令,但发现这个命令仅能sync根目录,不支持子目录。而我不希望新的版本库中保留原来版本库的其他项目的内容,放弃。
后来确定的命令是svndumpfilter,操作如下: 继续阅读 »
最新评论