delphij's Chaos

选择chaos这个词是因为~~实在很难找到一个更合适的词来形容这儿了……

14 Jul 2011

.svn目录

今天同事跑来问我为什么没办法checkout一个子目录,发现svn提示说某个目录已有既有的、未有版本的副本(这是一个新的checkout)。

删除重新checkout,问题依旧。

检查之前的commit log,发现另外有人 svn rm 掉了 .svn 目录(看起来那个目录的内容是从其它地方复制过来)。

因为没有 svn 库本身的操作权限,也没有联系到事主(正规的做法是想办法干掉这个revision),所以尝试了下面的方法:

  1. 用 svn export (path)@revision 导出那个revision的那个子目录;
  2. 用 svn rm 直接删去有问题的子目录,commit
  3. 重新从副本添加那个目录

这样一来就可以checkout和正常操作了。不过,为什么 svn 会允许导入或删除 .svn 目录呢?哪位大牛帮忙解释一下?