【问题标题】:Copying files from svn repository从 svn 存储库复制文件
【发布时间】:2011-03-04 03:40:21
【问题描述】:

我想从服务器上的 svn 存储库中复制文件和文件夹,但我不想安装 svn 客户端,我可以不安装 svn 客户端吗?

PS 服务器 - linux (CentOS 5.5),svnadmin 版本 1.4.2 (r22196) 编译于 2009 年 8 月 10 日,17:54:46。

UPD:文件已导出到服务器:我想将文件从 svn 存储库导入到运行 web-server 的目录。例如:svn 存储库位于 /var/svn/repos,我想将存储库转储到 /var/www,但 /var/svn/repos 中没有我需要的文件。

PSS 对不起我的英语不好 =\

【问题讨论】:

    标签: linux svn centos


    【解决方案1】:

    Subversion 存储库不是您可以像使用 CVS 那样仔细阅读的可读格式。要读取存储库中的文件,您需要有人在某处有客户。

    如果您的 Subversion 存储库使用 Apache httpd 作为其服务器,您可以使用 wgetcurl 来拉出特定目录上的最后一个修订版,作为额外奖励,Subversion Apache httpd 模块允许您查看最新版本。

    $ wget http://svn/repos/foo/trunk/myfile.java
    

    另一种选择是使用 Subversion 存储库浏览器,例如 (ViewVC)[http://www.viewvc.org/] 或 Sventon。这些将允许您浏览整个存储库(包括旧版本),而无需在本地计算机上安装 Subversion 客户端。我喜欢 Sventon,因为它不必从 Subversion 存储库服务器运行。

    如果你使用的是 Centos 5.5,你应该已经在你的系统上安装了 Subversion 命令行客户端。在这种情况下,如果您不想要.svn 目录,请使用svn export 命令而不是svn checkout

    或者,设置您的 Web 服务器以忽略 .svn 目录。这样,您可以发送svn update 并更新您的网络服务器上的文件,而无需重新下载所有内容。

    【讨论】:

      【解决方案2】:

      好吧,如果您可以物理访问服务器,则可以使用该框上的 Subversion 客户端导出文件/文件夹,然后将它们从服务器复制到客户端计算机。如果您尝试完全从客户端执行此操作,我能想到的唯一方法是从 Web 客户端手动下载文件,但这仅在您使用 Apache 作为 Subversion 服务器时才有效。

      【讨论】:

      • 是的,我的 Subversion 服务器是 Apache,但如果没有对服务器的物理访问权限。
      • 您可以通过内置的网络界面手动下载文件。如果您从 yourhostname_or_ip/repos/svn/test_repo 提供存储库,您应该能够将该 URL 放入 Web 浏览器并以这种方式查看/下载文件。
      【解决方案3】:

      除非服务器有 HTTP 接口(存储库 URL 是否以 http:// 为前缀?只需在网络浏览器中打开即可),没有。

      在服务器上导出你想要的文件(svn export file://repo/path/to/directory)可能是最简单的,然后使用 http 或 scp 或其他方式将它们复制到客户端。

      【讨论】:

      • 不,文件已经导出到服务器:我想将文件从 svn 存储库导入到运行 web 服务器的目录。
      猜你喜欢
      • 1970-01-01
      • 2010-10-01
      • 2013-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-11
      • 2012-10-28
      • 2011-07-26
      相关资源
      最近更新 更多