(PECL svn >= 0.1.0)
svn_commit — 將變更從本地工作副本發送到版本庫
將在 targets
陣列中列舉的本地工作副本檔案中進行的變更提交到版本庫,並附帶記錄訊息 log
。除非將 recursive
設定為 false
,否則 targets
陣列中的目錄將被遞迴提交。
注意事項:此函式沒有用於指定驗證的參數,因此必須使用 svn_auth_set_parameter() 設定使用者名稱和密碼。
log
提交的記錄文字字串
targets
要提交的檔案的本地路徑陣列
此參數必須是陣列,不接受單一目標的字串。
注意事項:相對路徑將會解析,如同目前工作目錄是包含 PHP 執行檔的目錄。要使用呼叫腳本的工作目錄,請使用 realpath() 或 dirname(__FILE__)。
recursive
布林值旗標,用於停用遞迴提交 targets
陣列中的目錄。預設值為 true
。
以以下形式返回陣列
array( 0 => integer revision number of commit 1 => string ISO 8601 date and time of commit 2 => name of committer )
失敗時返回 false
。
範例 #1 基本範例
此範例將 calculator 目錄提交到儲存庫,使用使用者名稱 Bob 和密碼 abc123(希望他的密碼更強)。
<?php
svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_USERNAME, 'Bob');
svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_PASSWORD, 'abc123');
var_dump(svn_commit('Log message of Bob\'s commit', array(realpath('calculator'))));
?>
上述範例將輸出
array( 0 => 1415, 1 => '2007-05-26T01:44:28.453125Z', 2 => 'Bob' )
此函式為*實驗性*。此函式的行為、其名稱和周圍的文件可能會在未來的 PHP 版本中更改,恕不另行通知。使用此函式需自行承擔風險。