2

SVN リポジトリからファイルをチェックアウト/チェックインできる perl スクリプトを作成したいと考えています。、など
のいくつかのPerlモジュールをチェックしました。Alien::SVNSVN::CoreSVN::Client

しかし、ファイルのチェックアウトまたはチェックインを行う関数は実際には見つかりませんでした。

誰か助けてくれませんか?

4

1 に答える 1

4

SVN::Clientは、ファイルのチェックアウトとチェックインの両方を行うことができます。

チェックアウト方法に関するドキュメントからの抜粋を次に示します。

    $ctx->checkout($url, $path, $revision, $recursive, $pool);

新しくチェックアウトされた作業コピーのルート ディレクトリとして $path を使用して、$revision で $url の作業コピーをチェックアウトします。

$revision数字、'HEAD'、または日付でなければなりません。$revision がこれらの要件を満たさない場合、$SVN::Error::CLIENT_BAD_REVISIONが発生します。

リポジトリから実際にチェックアウトされたリビジョンの値を返します。

チェックインの場合:

$ctx->commit($targets, $nonrecursive, $pool);

ターゲットが参照するファイルまたはディレクトリをコミットします。log_msg コールバックを使用して、コミットのログ メッセージを取得します。

$targets にパスが含まれていない (要素がない) 場合、何もせず、エラーなしですぐに戻ります。

次のいずれかのアクションでコミットが進行するときに、通知コールバックを呼び出します。

$SVN::Wc::Notify::Action::commit_modified,
$SVN::Wc::Notify::Action::commit_added,
$SVN::Wc::Notify::Action::commit_deleted,
$SVN::Wc::Notify::Action::commit_replaced,
$SVN::Wc::Notify::Action::commit_postfix_txdelta.

$nonrecursiveディレクトリ ターゲットのサブディレクトリを無視する必要があることを示すために使用します。

svn_client_commit_info_t オブジェクトを返します。コミット情報オブジェクトのリビジョン メンバーが$SVN::Core::INVALID_REVNUM存在し、エラーが発生しなかった場合、コミットは何も行われませんでした。何もコミットする必要はありませんでした。

于 2012-11-07T14:43:22.607 に答える