我已经开始使用subversion来跟踪 - 并且能够逆转 - 与我们的开发和维护相关的网站更改。喜欢它提供的这种安全感!
我想知道是否有一种工具/方法能够自动化“实时”网站和subversion存储库之间的同步。能够将错误补丁提交到存储库和实时版本会很棒(现在我通过ftp手动上传更正的文件,然后将其提交到subversion存储库)。
我确定这必须存在于某个地方,但名称是什么?它需要什么设置?
感谢您的反馈, 甲
答案 0 :(得分:3)
您可以创建一个post-commit hook,将您的存储库以最新版本导出到您的网络服务器目录:
#!/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
答案 1 :(得分:2)
基本上你可以使用svn repository hooks,尤其是post-commit
挂钩。
答案 2 :(得分:1)
<DirectoryMatch \.svn> Order allow, deny Deny from all </DirectoryMatch> AliasMatch \.svn /non-existant-page