我刚刚开始使用subversion,目的是使用它来控制我的网站。
我已经设置了回购,导入了网站的所有文件,我很高兴地检查进出的内容,这是一个很棒的体验,不必记住我在哪台计算机上更改了哪些文件,这样我就可以获取最新版本来自实时服务器!
我已经设置了一个测试位置,我可以在将其上传到实时服务器之前svn export
我的网站进行测试。我希望导出能够自动完成,所以我不必通过SSH连接到服务器来执行此操作(我不能总是这样做,具体取决于我的位置)。
我创建了一个简单的post-commit
脚本:
$ svn export <reposURL> <testingDIR> --force
让钩子脚本执行所有权限,<testingDir>
具有Web服务器的组写权限。
当我从笔记本电脑上做svn ci
时,我收到错误:
Transmitting file data .svn: Commit failed (details follow):
svn: MERGE of '<pathOfRepos>': 200 OK
(http://svn.mydomain.com)
然而后续提交引发了一个错误,即我的工作副本已过期,并且似乎提交确实成功,导出没有。
谁能告诉我哪里出错了?
(运行最新的ubuntu / apache / svn)
- 编辑:
经过大量的探索和尝试各种各样的事情后,我设法解决了它无法工作的原因是因为我的存储库在通过网络访问时需要用户名和密码。我已经使用file:// type url更改了post-commit脚本以在本地访问存储库,现在它工作正常。
关闭问题。
答案 0 :(得分:0)
您可能需要添加
exit 0
在脚本的末尾。