ファイアウォール環境下向け CVS クライアント CVSGrab のメモ

HTTP クライアントの viewvc 等を介して通信するから,プロキシ環境下でも大丈夫だぜ,というソフト.ブラウザで viewvc を表示し,手動でダウンロードするところを,自動でやっちまうぜ,というソフト.

利用手順

  1. JRE をセットアップする(Java で書かれているのだ.Java の環境が必須なのだ)
  2. CVSGrab - CVSGrab - Read sources stored in CVS behind a firewall からバイナリを得る.Windows なら cvsgrab-2.3.zip が適当だろう
  3. 適当なフォルダに展開する.ここでは,C:\Software\Network\cvsgrab に展開する
  4. Windows 環境変数を設定する
    1. システムのプロパティ>詳細設定>環境変数を開く
    2. 他のユーザに影響が及ばないよう,ユーザー環境変数として CVSGRAB_HOME=C:\Software\Network\cvsgrab を設定する
  5. コマンドプロンプトを実行し,cd C:\Software\Network\cvsgrab する
  6. cvsgrab.bat を実行する

opencvlibrary の opencv モジュールを取得する成功例

次のように打ち込めば,すべてが手に入る.

cvsgrab.bat -url http://opencvlibrary.cvs.sourceforge.net/viewvc/opencvlibrary/opencv -proxyHost proxy.example.com -proxyPort 8080 -destDir c:/software/develop/ -webInterface ViewVC1_1

opencvlibrary の opencv モジュールを取得する失敗例

cvsgrab.bat -rootUrl http://opencvlibrary.cvs.sourceforge.net/viewvc/ -proxyHost proxy.example.com -proxyPort 8080 -packagePath opencvlibrary/opencv

これであっているはずだがエラーとなる.メッセージから関係ありそうなものを抜き出す.

Problems found during automatic detection:
(中略)
ViewVC1_0 tried to match page http://opencvlibrary.cvs.sourceforge.net/viewvc/op
encvlibrary/opencv/ but found error String index out of range: -1
(中略)
[ERROR] Could not detect the type of the web interface
[ERROR] Could not detect the type of the web interface
[ERROR] There were some errors.
[ERROR] If you cannot find an obvious answer, report the problem to http://sourc
eforge.net/forum/forum.php?forum_id=174128

なんでだー!SourceForge.net の viewvc バージョンは 1.0.5 だから,ViewVC1_0 にマッチするんじゃないの?入手したアーカイブは中間コンパイル済みのバイナリだから,ソースを入手して確認しよう.

ヘルプ表示

C:\Software\Network\cvsgrab>cvsgrab.bat -help
usage: cvsgrab
where options are
 -help                              [Command] Prints this help message
 -listWebInterfaces                 [Command] Lists the web interfaces to
                                    the CVS repository that are
                                    supported by this tool
 -diff                              [Command] Builds the differences
                                    against the same remote version. Result is s
tored in the file patch.txt
 -export                            [Command] Exports the repository. CVS
                                    directories are not created.
 -url <url>                         The full url used to access the CVS
                                    repository from a web browser
 -rootUrl <url>                     [if full url not used] The root url
                                    used to access the CVS repository from a web
 browser
 -packagePath <path>                [if full url not used] The path
                                    relative to rootUrl of the package or module
 to download
 -projectRoot <root>                [optional] The project root, for cvs
                                    with multiple repositories
 -tag <version tag>                 [optional] The version tag of the
                                    files to download
 -queryParams <query params>        [optional] Additional query parameters
 -webInterface <web interface id>   [optional] The id for the web
                                    interface for the CVS repository to use. If
this option is not set,
                                    autodetect the web interface.Call cvsgrab -l
istWebInterfaces to get a list
                                    of valid values for this option.
 -destDir <dir>                     [optional] The destination directory.
 -packageDir <dir>                  The name of the package to use
                                    locally, relative to destDir, overrides pack
agePath
 -cvsRoot <cvs root>                [optional] The original cvs root, used
                                    to maintain compatibility with a standard CV
S client
 -prune                             [optional] Prune (remove) the empty
                                    directories.
 -clean                             [optional] Clean update. Backup
                                    locally modified files and download anyway t
he latest version of the file.
 -debug                             [optional] Turn debugging on.
 -debugWire                         [optional] Turn debugging on,
                                    including very verbose network traffic.
 -verbose                           [optional] Turn verbosity on.
 -quiet                             [optional] Be extra quiet.
 -connections <nb of connections>   [optional] The number of simultaneous
                                    connections to use for downloads, default 1
 -proxyHost <host>                  [optional] Proxy host
 -proxyPort <port>                  [optional] Proxy port
 -proxyNTDomain <domain>            [optional] NT Domain for the
                                    authentification on a MS proxy
 -proxyUser <user>                  [optional] Username for the proxy
 -proxyPassword <password>          [optional] Password for the proxy. If
                                    this option is omitted, then cvsgrab will pr
ompt securely for the
                                    password.
 -webUser <user>                    [optional] Username for the web server
 -webPassword <password>            [optional] Password for the web
                                    server. If this option is omitted, then cvsg
rab will prompt securely for
                                    the password.
CVSGrab version 2.3, copyright (c) 2002-2004 - Ludovic Claude.

情報元

http://opencvlibrary.cvs.sourceforge.net/viewvc/opencvlibrary/
http://opencvlibrary.cvs.sourceforge.net/cvsroot/opencvlibrary/
https://opencvlibrary.svn.sourceforge.net/svnroot/opencvlibrary