将 FTP 同步到 SVN

将 FTP 同步到 SVN

背景:我需要编辑一个网站。访问文件的唯一方式是 FTP。但由于我不是唯一会编辑它的人(而且我希望能够回滚以及许多其他原因),我们需要版本控制系统。

以前(在我们自己的服务器上,我们有根目录),我们曾经使用带有提交后挂钩的 SVN,它更新了站点目录中的文件(站点曾经位于同一个 Linux 服务器上)。

是否可以制作提交后挂钩,通过 FTP 将更新的文件上传到远程服务器?有什么方法可以检测“刚刚更新”的文件?也许有现成的解决方案?

答案1

是否可以制作提交后挂钩,通过 FTP 将更新的文件上传到远程服务器?

是的,有可能

有什么方法可以检测“刚刚更新”的文件?

至少两个(AFAICR):

  • svn log -v -q -r HEAD REPO-URL(从任何位置)
  • svnlook changed REPO_PATH(对于 REPO 主机,其中 REPO_PATH 是 FS 上的本地路径)

嗯,正如我所看到的,你必须在提交后钩子中解决两个连续的子任务(如果你解决了正确的任务:从 repo 更新网站,而不是逆向修改 ^ 通过来自以下位置的已更改文件更新 repo一些独立的地点)

  • 构建文件树,受修订影响
  • 使用纯 FTP 在远程主机上上传这棵树

任务 1 的解决方案

我提到的前三个脚本中的任何一个这里(在野外网络中也可能存在其他实现)

任务 2 的解决方案

使用部分NcFTP 客户端FTP上传)通过简单的一行命令上传树

相关内容