Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
强制SVN签出命令覆盖当前文件_Svn - Fatal编程技术网

强制SVN签出命令覆盖当前文件

强制SVN签出命令覆盖当前文件,svn,Svn,我正在向SVN添加一个现有站点 这些文件已经存在于Web服务器上,现在存储库中存在相同的副本(-configuration files) 我想将webserver目录转换为SVN工作副本,但运行时: svn checkout http://path.to/svn/repo/httpdocs . 我得到一个错误: svn:未能添加文件“”:同名对象已存在 我如何告诉SVN只覆盖那些内容相同的文件?从存储库中拉到一个新目录,然后将旧目录重命名为old\u crufty,将新目录重命名为my\u r

我正在向SVN添加一个现有站点

这些文件已经存在于Web服务器上,现在存储库中存在相同的副本(-configuration files)

我想将webserver目录转换为SVN工作副本,但运行时:

svn checkout http://path.to/svn/repo/httpdocs .
我得到一个错误:

svn:未能添加文件“”:同名对象已存在


我如何告诉SVN只覆盖那些内容相同的文件?

从存储库中拉到一个新目录,然后将旧目录重命名为
old\u crufty
,将新目录重命名为
my\u real\u webserver\u目录
,就可以开始了


如果您的意图是每个文件都在SVN中,那么这是测试您的理论的好方法。如果您的意图是某些文件不在SVN中,请使用Brian的复制/粘贴技术。

尝试
--force
选项<代码>svn帮助签出提供了详细信息。

这可以很容易地完成。我所做的只是将现有目录(不受版本控制)移动到一个临时目录。然后,我将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更新并没有将文件更改回原来的状态?

SVN checkout--forcesvn://repo 网址:dir

然后

svn revert-R website.dir


将在website.dir中的现有文件上签出,但不会覆盖它们。然后,还原将覆盖它们。通过这种方式,您无需关闭站点即可完成它。

我没有可用的1.5版本,因为我无法控制计算机。引起我问题的文件恰好是lib目录中的一个.jar文件。以下是我为解决问题所做的:

rm -rf lib
svn up

这是基于内德的回答。也就是说:我只是删除了引起问题的子目录,而不是整个存储库。

我的SVN版本(1.3.1)似乎没有--force选项。这是什么时候添加的?1.4,我想,虽然我相信你会像我一样擅长检查发行说明。。。你落后这么远有什么原因吗?SVN项目在向后兼容性方面运行良好,因此没有理由担心升级;它将svn 1.3作为标准安装。感谢此选项是在Subversion 1.5中添加的。它还补充道,如果您想强制更新冲突,请接受他们的完整版本。(正如您可能希望在生成服务器上所做的那样)注意,这仅在不存在.svn目录时才起作用。标题有误导性,应该是checkout命令,而不是update命令