【问题标题】:Export SVN repository over FTP to a remote server通过 FTP 将 SVN 存储库导出到远程服务器
【发布时间】:2012-06-26 08:37:12
【问题描述】:

我正在使用以下命令将我的存储库导出到本地路径:

svn export --force svn://localhost/repo_name /share/Web/projects/project_name

是否有任何非常简单的方法(这里是 Linux 新手)通过 FTP 协议执行相同操作,将存储库导出到远程服务器?

svn exportAFAIK 的最后一个参数必须是本地路径,AFAIK 此命令不支持以 URL 形式提供路径,例如:

ftp://user:pass@server:path/

所以,我认为这里应该雇用一些脚本来完成这项工作。

我已经询问了一些人,并被告知最简单的方法是将存储库导出到本地路径,将其传输到 FTP 服务器,然后清除本地路径。不幸的是,我在第一步之后失败了(提取到本地路径!:) 所以,支持问题是,是否可以即时完成,或者真的必须分成两个步骤:导出 + ftp 传输?

有人还建议我在远程服务器上设置本地 SVN 客户端,并从我的存储库中进行简单的签出/更新。但只有在其他一切都失败的情况下,这才是可能的解决方案。因为我想提取纯存储库结构,没有 SVN 文件,我会这样走。

顺便说一句:我使用的是 QNAP TS-210,一个简单的 NAS 设备,板载的 Linux 非常有限。因此,我无法使用许多与 GUI 一样好的命令行命令。

编辑:这是我的“链”中的第二个问题。即使,如果你帮助我在这里取得成功,如果没有你的帮助“SVN: Force svn daemon to run under different user”,我将无法自动化这项工作(我愿意)。请问有人也可以看看那里吗?谢谢!

【问题讨论】:

  • 您提到 SVN Export 作为您正在运行的命令... Export 采用最新的 head 修订版或您输入的修订版,并将其发送到磁盘...我的问题:您是否正在尝试备份回购,移动它还是只是将其中的文件复制到其他地方?取决于哪一个,SVN Dump 可以用于备份和移动,SVNAdmin Hotcopy 也可以用于备份和移动,如果你只是复制文件,svn export 也可以......
  • @TiernanO:第三个选项——我正在尝试仅将文件和文件夹(没有 SVN 元数据)从开发服务器导出到客户生产服务器上的指定路径(客户更喜欢在自己的机器上进行测试而不是登录到开发服务器)。
  • 伟大的工作。会调整我的答案...

标签: linux svn command-line ftp


【解决方案1】:

好吧,如果您使用的是 Linux,您应该能够安装 ftpfs。我相信 Linux 内核中有一个模块可以解决这个问题。那么我认为你还需要 FUSE。

基本上,如果你可以挂载一个ftpfs,你就可以将你的svn导出直接写到挂载的文件夹中。

【讨论】:

  • 谢谢!但是挂载在我的 NAS 上非常不稳定。我一直在尝试将远程 Samba 共享(运行 Windows 7 的本地网络计算机)安装为 cifs 和 smbfs。两种解决方案都运行了几天,然后突然停止工作。即使 ftpfs 可以在这里工作(我试一试,如果我有时间的话)我很担心,如果这是足够稳定的解决方案,我一直在寻找吗?
  • 嗯,到目前为止,更好的解决方案是使用 ssh。
【解决方案2】:

不确定 FTP,但 SSH 会容易得多,并且应该有更好的压缩。通过 SSH 发送 repo 的示例可能如下所示:

svnadmin dump /path/to/repository |ssh -C username@servername 'svnadmin -q load /path/to/repository/on/server'

我发现该信息在Martin Ankerl's site上的网址

[更新]

根据@trejder 对该问题的评论,要通过 ssh 进行导出,我的建议如下:

svn导出到本地文件夹,然后使用如下命令:

cd && tar czv ​​src | ssh example.com 'tar xz'

其中 src 是您导出到的文件夹,example.com 是服务器。

这将获取源文件夹中的文件,将它们 tar 和 gzip 并通过 ssh 发送,然后在 ssh 上,将文件直接解压缩到机器上......

【讨论】:

【解决方案3】:

这是我不久前写的——也许在这里会有用处:exup

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-21
    • 2014-08-24
    • 1970-01-01
    • 1970-01-01
    • 2010-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多