不,这不是this的重复。
虽然我通常习惯使用SVN的可视化工具,但我发现自己现在面临着想要将Repo/Parent/ChildX/ChildY
移动到Repo/ChildY
的问题。我收到以下错误,我只是在寻找我在这里缺少的东西。考虑刚刚安装的服务器(来自转储),除了svn之外没有其他可用的东西。
> svn checkout https://localhost/Repo svn: OPTIONS of 'https://localhost/Repo': 200 OK (https://localhost) > svn move Repo/Parent/ChildX/ChildY Repo/ChildY svn: 'Repo' is not a working copy svn: 'Repo' does not exist > svn move Parent NewParent svn: '.' is not a working directory > svn move https://localhost/Repo/Parent NewParent svn: Moves between the working copy and the repository are not supported > svn move https://localhost/Repo/Parent https://localhost/Repo/NewParent svn: OPTIONS of 'https://localhost/Repo': 200 OK (https://localhost) > svn commit --message "Trying to get move command to work" svn: 'C:\SVNTest' is not a working copy
我觉得有点奇怪的是,第一个命令(checkout)对我放在'Repo'后面的任何内容给出了相同的响应,比如https://localhost/Repo/SomeNonExistingName
。我确定我错过了什么。我发现参考文献说你不需要工作副本来进行移动,但是,我该怎么做?
上面的命令都没有,无论是错误还是确定,都做了实际的动作。我使用VisualSVN Server,可以在线浏览回购。
下面接受的解决方案和其他答案有助于解决此问题。对上面第一个命令的响应等于来自任何Apache服务器的常规响应。 200 OK 是HTTP响应。
使用VisualSVN Server时,默认安装位于 https://hostname/svn
下。要结帐,您需要在存储库名称前加上该路径。上面的第一个命令应该是:
> svn checkout https://localhost/svn/Repo file1 file2 etc... Revision XXX
不幸的是,这个小问题,无论多么微不足道,都没有在任何地方提到过。结帐后,从同一目录,移动变得微不足道:
> svn move Folder/SubFolder NewFolder
答案 0 :(得分:3)
假设您有一个有效的结账,最简单的方法就是这样(用正确的URL替换REPO_URL):
svn co REPO_URL
cd Repo
svn mv Parent/ChildX/ChildY .
svn commit -m "moved directory"
当然,假设您没有标准的trunk / tags / branches目录。
这让我想到你必须回答的问题:签出的工作目录是什么样的?它是否具有您期望的结构,或者它是否具有您不知道的某些目录?你在Repo下看到了.svn
目录吗?
编辑:我从未使用过Visual SVN服务器,但如果您的存储库位于可访问的文件系统上,则可以始终使用“文件”URL:
svn co 'file:///localhost/Repo'
或者(在看过VisualSVN所谓的“文档”之后),我建议通过Visual SVN检查你的工作目录,然后执行上面的命令。
另外,Visual SVN似乎创建了trunk / tags / branches目录,所以肯定想要cd进入工作目录并在那里运行命令,一旦你验证了目录结构。
答案 1 :(得分:1)
在回复你的评论时,结帐应该是什么样的,这是我自己项目结账的尾声:
A dblite\tags\pre-codeblocks\src\sqlite3.h A dblite\tags\pre-codeblocks\inc A dblite\tags\pre-codeblocks\inc\dblite.h Checked out revision 31.
当然,应该创建目录结构,而你似乎并没有这样做。
答案 2 :(得分:1)
我认为你的结帐失败了。
如果成功,您通常会获得已签出文件的列表,然后是“已检出修订版XXXXX”。
this thread的一些建议可能会有所帮助。特别是,您可能没有正确设置svn服务器以进行https访问。修好后,您应该能够按照所链接的主题中的说明进行操作。
如果摆弄'svn checkout'行无法解决问题,请更新/评论/回复。