用PHP提交svn

时间:2012-05-15 11:42:19

标签: php svn

我有一个生成一些键的脚本。此脚本必须在svn-server上提交它们。它们是不同的。你能帮助我一些想法吗?

我想到svn php lib和system / exec,但不知道如何连接svn-server并在那里保存文件。

P.S。更多关于问题。这是不可能的。我们的生产服务器从SVN存储库部署,有时为帐户生成文档。我们需要将它们保存在我们的存储库中,该存储库从生产开始写入。所以我们用另一种方式。抱歉令人失望。

3 个答案:

答案 0 :(得分:1)

编辑:在开始之前,请查看存储库的新副本。 SVN将记住服务器并自动保存所有已提交的内容。

$ svn co svn-server/path/to/repo /path/to/working/copy

您可以使用svn客户端和exec()方法使用特定的提交消息提交特定路径中的所有文件。只要PHP的subversion绑定不稳定,我就会使用它:

<?php
  /* To commit all files in /path/to/working/copy */
  $message="'This is my commit message'";
  $command = "svn ci -q -m $message /path/to/working/copy";

  exec($path);

答案 1 :(得分:1)

SVN lib非常简单。首先,设置用户名和密码

svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_USERNAME, 'username');
svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_PASSWORD, 'password');
svn_update(realpath('working-copy'));
//TODO: change files in working copy
var_dump(svn_commit('Changelog', array(realpath('working-copy'))));

如果您没有使用工作副本svn_checkout

答案 2 :(得分:0)

请参阅以下SVN functions in PHP

svn_commit就是其中之一......

注意

  

此功能是实验性的。在将来的PHP版本中,此函数,其名称和周围文档的行为可能会更改,恕不另行通知。使用此功能需要您自担风险。