-2

我有一个生成一些密钥的脚本。这个脚本必须在 svn-server 上提交它们。它们不一样。你能帮我出个主意吗?

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

PS更多关于问题。这是不可能的。我们的生产服务器从 SVN 存储库部署,有时会为帐户生成文档。我们需要将它们保存在我们的存储库中,该存储库已从生产中关闭以供编写。所以我们用另一种方式。很抱歉让您失望了。

4

3 回答 3

1

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

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

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

<?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);
于 2012-05-15T11:47:24.717 回答
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

于 2012-05-15T11:49:44.840 回答
0

在 PHP 中查看以下SVN 函数

svn_commit就是其中之一...

笔记

此功能是实验性的。在 PHP 的未来版本中,此函数的行为、其名称和相关文档可能会更改,恕不另行通知。使用此功能应由您自担风险。

于 2012-05-15T11:45:07.087 回答