私はリポジトリに接続し、コミットのリストをダウンロードしてローカルに保存するPHPツールを作っています。しかし、特定のリポジトリが大規模で待ち時間やタイムアウト/エラーの可能性があるログ結果を取得する可能性があるため、非同期要求を使用して各コミットメッセージをダウンロードしたいと考えています。SVN:指定されたパスのリビジョン番号のリストを取得できますか?
だから、私は、改訂履歴で開始点と終了点を持っている、と私はこのようにすべてのログをつかむことができます。
svn log -r <from_revision>:<to_revision> <REPO_URL>
を...と私はおそらくあるXMLファイルになってしまいますダウンロードに長い時間がかかり、解析に長時間と多くのリソースが必要になり、保存に長い時間がかかります。私は特定のリビジョンが存在するかわからないので、
svn log -r <revision> ...
しかし、:
私は始点と終点を知っていれば、私は改正を一つずつをつかむためにのための()ループを作成することができます与えられたパスについて、私はエラーを受け取ります。私は、更新中にそのエラーを無視するようにアプリケーションを作ることができますが、それは厄介なハックであり、リクエストを投稿し、とにかく応答を待っています。
だから、私はこのような何か必要があります:「私は、このパスのリビジョン番号のリストを与える」、OR
- を:
- 「私は、このパスのリビジョン番号のリストを与え、間および
私はリポジトリパスの有効なリビジョンの配列を作成し、それらを一つ一つを得ることができるでしょうその方法は。
すべての提案は、事前のおかげで歓迎されています。
あなたはSVN CLIの実行ファイルを呼び出すのではなく、SVNバインディングを使用することを検討しましたか? IIRC、彼らは既にPHPのために存在します。これは、はるかにプログラマティックで誤りの少ないインタフェースです。 – rmeador