アプリの新しいバージョンをライブでプッシュするときに、リリースリビジョン番号を表示する方法を教えてください。
ファイルで使用$Rev$
して最新のリビジョンを取得できますが、ファイルを更新した後でのみ使用できます。
リポジトリ/ディレクトリ内のファイルを変更するたびに1つのファイルの文字列を更新したい場合はどうなりますか?
方法はありますか?
アプリの新しいバージョンをライブでプッシュするときに、リリースリビジョン番号を表示する方法を教えてください。
ファイルで使用$Rev$
して最新のリビジョンを取得できますが、ファイルを更新した後でのみ使用できます。
リポジトリ/ディレクトリ内のファイルを変更するたびに1つのファイルの文字列を更新したい場合はどうなりますか?
方法はありますか?
svnversion
これを行う最良の方法は、またはsvn info
を使用してリビジョン番号を判別し、それをファイルに挿入するリリースのビルドスクリプトを用意することです。次のようなスクリプトがあると常に役立ちます。
svnversion
ビルド番号を計算するために使用するか、それに類似したもの次に、簡単に識別できるバージョンのリリースを作成するためのワンステッププロセスがあります。また、ソース管理にチェックインされなかった変更が含まれている可能性のある、自分の作業コピーから誰かにビルドを与えることを回避するのにも役立ちます。
TortoiseSVNには、 SubWCRev.exeという名前の簡単なツールがあります。パスからリビジョンを取得し、独自のテンプレートからファイルを作成します。ビルド前のコマンドとして使用できます。
フックを使おうとしましたか?それらはサーバー側でのみ機能しますが、うまくいく可能性があります。それ以外の場合は、キーワードが適切でない場合は、スクリプトを呼び出してリビジョンを更新します。
リリースのビルド/デプロイの一部としてファイルを自動的に更新します。
私がこれを行う理由があった1つのプロジェクトで、私はだましsvnversion
ました。それは、起動時にそれ自体を呼び出します。
alexanderが言ったように、1 つの方法は、ビルド プロセスの一部としてリビジョンを更新することです。
これを行う 1 つの方法は、 buildbotなどのツールを使用して、バージョン管理チェックインからトリガーされた自動ビルド プロセスからリリース ビルドを取得することです。
サブバージョン リポジトリでポストフック スクリプトを使用して自動ビルドをトリガーするシナリオが考えられます。これにより、ビルドボットが最後にチェックインされたリビジョンに更新されます。ビルド スクリプト (例: Makefile) は、'svnversion' (または 'svn info' と grep) を使用してリポジトリ リビジョンを読み取り、ビルドが行われる前にそれをヘッダー ファイルに書き込みます。
ビルドが成功したら、リリース バージョンに関する適切なコメントを付けて、このファイルをリポジトリに自動的にチェックインします。