回忆之城
生命在于折腾
posts - 575,comments - 9,trackbacks - 0

前言

  多人任务基本都会用到SVN,于是提交的时候如果不先更新在提交或者操作顺序不对,会经常出现错误,其中File already exists: filesystem这个就是个常见问题,上网找了半天没找到解决办法,经过摸索,经解决办法分享于此。


解决方法

  不同情况对应不同的解决方法:

  1、通用的。直接先备份,然后将本地删除,然后充仓库里面checkout出最新的文件,然后将备份的修改加入最新的文件,然后提交就搞定啦 。。


  2、localy new,本地新建。这写内容在被commit之前,可以做任何改变,包括删除,比如你新建一个目录,然后删除,那么下次commit的时候就不会体现这个过程,当没有发生过一样。所以说当你看到下面的错误代码时:File already exists: filesystem '/path/db', transaction '9-1', path  '/path/trunk/vendor/plugins/classic_pagination'  Failed to add directory object of the same name already exists[/code]是因为remote repository已经有人commit了一个目录,而你本地有一个同名的目录,很简单,你只要重命名,或者删除本地目录,就可以顺利的update了。  

  3、如果一个目录或者文件已经是在svn控制之下(比如是checkout而来),那么你在本地对于它的任何操作都会被svn所记录,比如你删除它,然后再建立它,这些动作在commit的时候都会被远程的执行。对于删除又建立的情况,实际上你必须进行两次commit,一次是删除,另一次是新建。


总结

  其实SVN的相关问题错误解决办法就是关于数据的一致性问题,所以没啥好纠结,想个能避免脏数据,然后将数据弄成一致的就可以了。

  全文完。。

posted on 2013-12-02 18:49 回忆之城 阅读(6526) 评论(0)  编辑 收藏 引用 所属分类: unix/linux
只有注册用户登录后才能发表评论。