2

Mercurialリポジトリサーバーで、現在のリポジトリURLまたは少なくとも名前(サブパス)を(changegroupまたはある程度同等の)フックで把握するにはどうすればよいですか?IISでHgWebを実行しています。

$HG_URLpush受信リポジトリではなく、ersURLを返します。$HG_SOURCEのみを返しますserve

changegroupコンテキスト:JenkinsにSCMポーリングを実行するように指示するフックを使用して、Jenkinsを作成しようとして/mercurial/notifyCommit?url=<url>います。これを機能させることができない場合は、約50回のcURL呼び出しを実行する必要があります(サーバー上のリポジトリごとに1回)。すべてのchangegroupトリガーで、そしてこのリストをhgweb.config永遠に維持することを忘れないでください。

4

2 に答える 2

2

フックはその特定のリポジトリのルートフォルダ内で実行されます。bashで次のコマンドを使用して、現在のフォルダ名を取得できます。

${PWD##*/}
于 2012-03-14T17:58:00.650 に答える
1

トンの答えによると、これは私がWindowsを使用しているので私がやったことです:

changegroup.jenkins.cmd

@for /f "delims=\" %%a in ("%CD%") do @set TOPMOST=%%~nxa
@curl.exe "http://jenkins/mercurial/notifyCommit?url=http://hgweb/%TOPMOST%" -s -S
于 2012-03-16T09:39:43.340 に答える