我已经开始使用 subversion 来跟踪 - 并能够逆转 - 我们网站与其开发和维护相关的更改。喜欢它提供的这种安全感!
我想知道是否有一种工具/方法能够自动同步“实时”网站和颠覆存储库之间的同步。能够同时向存储库和实时版本提交错误补丁会很棒(现在我通过 ftp 手动上传更正的文件,然后将其提交到 subversion 存储库)。
我确定这一定存在于某处,但以哪个名称存在?它需要什么设置?
谢谢你的反馈,A。
我已经开始使用 subversion 来跟踪 - 并能够逆转 - 我们网站与其开发和维护相关的更改。喜欢它提供的这种安全感!
我想知道是否有一种工具/方法能够自动同步“实时”网站和颠覆存储库之间的同步。能够同时向存储库和实时版本提交错误补丁会很棒(现在我通过 ftp 手动上传更正的文件,然后将其提交到 subversion 存储库)。
我确定这一定存在于某处,但以哪个名称存在?它需要什么设置?
谢谢你的反馈,A。
您可以创建一个post-commit 挂钩,它将最新版本的存储库导出到您的网络服务器目录:
#!/bin/sh
# Delete Old site
rm -R /var/www/website
# Export Repository
svn export --force file:///var/svn/website /var/www/website
# Make sure Apache Owns the website
chown -R www-data:www-data /var/www/website
(此论坛主题的学分)
将其保存在存储库目录中名为 的文件post-commit
中hooks
,并使其可执行。
如果存储库和网站不在同一台服务器上,您需要导出到一个临时目录,然后通过 ftp 或 scp 推送
编辑:还发现了这个可以完成这项工作的 perl 模块:SVN::Notify::Mirror
基本上你可以用svn repository hooks来做到这一点,尤其是post-commit
hook。
<DirectoryMatch \.svn> Order allow, deny Deny from all </DirectoryMatch> AliasMatch \.svn /non-existant-page