2011-01-31 70 views
0

我想创建一个automagic svn'tag/export'按钮,用于从我们的开发测试阶段现场环境移动。php + webdav做'svn copy url url'命令

我使用稍微修改(固定)版本的phpsvnclient 将webdav格式的http请求发送到我们的jira svn存储库。我宁愿不依赖于任何PHP库/模块,只使用核心PHP代码来完成此任务。我也宁愿避免使用shell_exec(我已经工作)。

我创造的过程是:

1)获取当前环境释放标签($主要$次要svn_version $)

2)增量的$#轻微

3。 。)获取最新版本为#/躯干和使新版本标签的$ svn_version

4)SVN复制/主干/标签/ $ new_release_tag

http://www.webdav.org/specs/rfc4918.html#copy.for.collections

在步骤#3中,我可以发送一个webdav请求来获取/ trunk的版本号,但我似乎无法发送正确的webdav命令将/ trunk集合复制到/标签/ $ new_release_tag

我得到我想也许这是期待已提交信息或者我需要首先MKCOL的409

HTTP响应状态。我找不到发送提交信息的文档,当我尝试使用MKCOL/tags/$ new_release_tag时,我也得到了一个409.

我有一个与Jira工作室打开的门票,但到目前为止他们的答案是他们不支持“定制的SVN客户机” :(

任何想法?

回答

0

我觉得它更容易只是复制和使用autoversioning

+0

这并不适用于制作发布标签复制控制我的使用情况我试图使用webdav http协议与svn服务器通信,我没有实现一个完整的w ebdav客户端。 – jshanman 2011-02-01 17:27:40