2010-12-11 18 views
10

我在我的本地计算机(Ubuntu),我用于开发和SVN客户端上运行共享主机箱,我使用分段服务器上的SVN安装程序,我的生产服务器也有相同的设置。当我进行导出时,整个项目都会被导出,这对于小版本发布来说是荒谬的。我使用以下命令:SVN - 如何导出只是一个修订

svn export -r 31 http://localhost.com/proj/trunk . --force --username myusername 

并且整个项目再次导出。于是我尝试用不同的方式:

svn export -r 'COMMITTED' http://localhost.com/proj/trunk . --force --username myusername 

然后我得到这个错误:

svn: 'http://localhost.com/egr' is not a working copy 
svn: Can't open file 'http://localhost.com/proj/.svn/entries': No such file or directory 

我还是想知道如果我只是没有使用正确的SVN export命令,如果有一些固有的问题我的SVN设置(这是我第一次配置SVN)。

dav_svn.conf:

<Location /proj> 
DAV svn 
SVNPath /var/svn/proj/ 
AuthType Basic 
AuthName "SVN Repo" 
AuthUserFile /etc/subversion/passwd 
<LimitExcept GET PROPFIND OPTIONS REPORT> 
    Require valid-user 
</LimitExcept> 

想法?请指教。

+1

用'-rev'导出svn用于导出特定版本的所有文件,而不仅仅是修改后的文件,如你所愿 – javs 2010-12-11 02:25:46

回答

1

如果要更新项目,则不应使用svn export,应使用svn commit将工作副本中的更改发送到存储库。

我想知道为什么你使用-r 31选项,这代表修订版和它们的数量是31.可能你想要调用的选项是-R选项,它代表递归目录。

+1

我认为'-r 31'在这个上下文中意思是“在版本31”,所以在co ntext,“从版本库路径中获取某些内容,因为它在修订版本31” – 2010-12-11 18:33:40

11

您可以指定文件夹/你只想要导出的文件,如

比如使用WP SVN

svn export -r 16873 http://core.svn.wordpress.org/branches/2.8/wp-admin/css 

如果只是几个文件,但位于不同的目录

mkdir {css,image} 
svn export -r 16873 http://core.svn.wordpress.org/branches/2.8/wp-admin/css/install.css css/install.css 
svn export -r 16873 http://core.svn.wordpress.org/branches/2.8/wp-admin/images/menu-arrows.gif images/menu-arrows.gif 
+0

我要系统地问清楚它实际上想要做什么,但我认为你打了它的头。 @systematical:我认为你只是没有意识到版本库网址比根目录深。 – 2010-12-11 08:31:42

+0

我只是想将我最近提交的文件“上传”到暂存服务器。所以我想通过指定一个修订版本号,它只会移动这些文件。或者如果我想要上传多个修订版本,我可以执行类似-r 31:35的操作。那就是我正在尝试完成的事情。 – systematical 2010-12-11 20:31:55

+0

你的意思是下载而不是上传? – ajreal 2010-12-11 20:35:49