タグとビルド スクリプトに関連する他の Mercurial の投稿を SO で探しましたが、私が見ている特定の問題は見つかりませんでした。
bitbucket.org がホストする Mercurial サーバーを数週間使用しています。私のワークフローは、コードを記述し、ローカル リポジトリにプッシュしてから、bitbucket にプッシュすることです。私は自分のプロジェクトの唯一の貢献者であり、コーディングに 1 台のマシンしか使用していないため、解決が難しいマージや競合はまだありません。TortoiseHg を使用して、チェックインとコード レビューを実行しています。
今日、ビルドを自動化するスクリプトを書きましたが、問題が発生しました。コーディングには c:\dev を使用し、ビルド プロセスのルート フォルダーとして c:\build を使用します。
私のプロセスは次のとおりです。1) 最新のコードを取得します -- リポジトリを複製するか、既に複製されている場合は最新のものを取得します 2) コードをバージョン管理します 3) コードをビルドします 4) ローカル リポジトリにタグを付けます 5) タグを bitbucket.org にプッシュします
私は単純なバッチプログラムを使用しています:
REM variable assignment, versioning, and error checking are excluded from this snippet
ECHO Getting code from remote repository...
IF EXIST .\%localrepo% (
ECHO Pulling latest
hg pull %localrepo%
) else (
ECHO Cloning repository
hg clone %remoterepo%
)
ECHO Done retrieving code.
ECHO Building code...
"c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe" %solution% /build %solutionconfig%
ECHO Building complete.
cd %localrepo%
hg tag %version%
hg push
cd ..
このスクリプトは私の目標をすべて達成したようで、TortoiseHg に戻るまではすべて順調でしたが、リビジョン グラフに 2 つの行が表示されていることに気付きました。 c:\ビルドにあります。
画像を埋め込むほどの評判はありませんが、このリンクには TortoiseHg によって報告された改訂履歴のスクリーンショットが表示されます - http://i.imgur.com/2oNAR.png
少し苦労して、新しい行 (リビジョン 38) を元の行 (リビジョン 39) にマージしましたが、ビルド スクリプトを再度実行すると (リビジョン 40)、新しいタグが 2 行目に続きました。dev リポジトリから変更をコミットしようとしましたが、「push creates note remote head」が原因でコミットが中止されました。
ビルド スクリプトで根本的に間違ったことをしているような気がします。読む必要のあるアドバイスやトピックはありますか? Mercurial コード サーバーに関連する MSBuild 以外のスクリプト ソリューションは見つかりませんでした。何らかの理由でバッチ スクリプトを使用することに縛られているわけではありません。バッチ スクリプトは、単純で無料のソリューションで十分だと思っていました。