我正在向SVN添加现有站点.
这些文件已存在于Web服务器上,现在存储库中存在相同的副本( - 配置文件).
我想将webserver目录转换为SVN工作副本,但是当我运行时:
svn checkout http://path.to/svn/repo/httpdocs .
我收到错误:
svn:无法添加文件'':已存在同名对象
如何告诉SVN只覆盖那些内容相同的文件?
svn checkout --force svn://repo website.dir
然后
svn revert -R website.dir
将检查在website.dir中的现有文件的顶部,但不会覆盖它们.然后恢复将覆盖它们.这样您就不需要关闭站点来完成它.
尝试--force
选项.svn help checkout
给出细节.
这可以很容易地完成.我所做的就是将现有目录(不受版本控制)移动到临时目录.然后我检查了SVN版本到我正确的目录名,将文件从临时目录复制到SVN目录,并恢复SVN目录中的文件.如果这没有意义,下面有一个例子:
/usr/local/www mv www temp_www svn co http://www.yourrepo.com/therepo www cp -pR ./temp_www/* ./www svn revert -R ./www/* svn update
我希望这有帮助,我不确定为什么只是一个简单的SVN更新没有改变文件?
我没有1.5可用,因为我无法控制电脑.导致我出现问题的文件碰巧是lib目录中的.jar文件.以下是我为解决问题所做的工作:
rm -rf lib svn up
这建立在Ned的答案之上.那就是:我刚刚删除了导致我出现问题的子目录而不是整个存储库.