【问题标题】:SVN - How to Export Just a RevisionSVN - 如何只导出一个修订版
【发布时间】:2011-05-23 19:49:13
【问题描述】:

我在用于开发的本地计算机 (Ubuntu) 上安装了 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 导出命令,还是我的 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>

想法?请指教。

【问题讨论】:

  • svn export with -rev 用于导出该特定版本的所有文件,而不仅仅是您想要的修改后的文件

标签: linux svn apache webdav


【解决方案1】:

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

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

【讨论】:

  • 我认为 -r 31 在这种情况下意味着“在修订版 31”,因此,在上下文中,“从这个存储库路径中获取一些东西,就像在修订版 31 中一样”
【解决方案2】:

您可以指定仅要导出的文件夹/文件,例如

比如使用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

【讨论】:

  • 我本来想系统地问清楚他真正想要做什么,但我认为你正中了它。 @systematical:我认为您只是没有意识到存储库 url 比根目录更深。
  • 我只想将我最近提交的文件“上传”到我的登台服务器。所以我想通过指定一个修订号它只会移动这些文件。或者,如果我有多个要上传的修订,我可以执行 -r 31:35 之类的操作。这就是我想要完成的。
  • 你的意思是下载而不是上传?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-09-07
  • 2023-04-03
  • 2015-12-27
  • 1970-01-01
  • 1970-01-01
  • 2011-04-22
  • 2023-01-11
相关资源
最近更新 更多