3

アプリケーションに現在のコミット番号を表示したいと考えています。私は SVN を使用しており、私のコードは C# です。

テキスト ファイル WITHIN REPOSITORY を自動的に更新して、コミット番号を含めることができるのではないかと思います。たとえば、ユーザーに表示します。

現在、ポストコミット フック (コミット情報を含むいくつかの環境変数を受け取るシェル スクリプト) を作成し、そのテキスト ファイルにコミット番号を「エコー」することを考えています。サーバー側のリポジトリからのテキスト ファイルに干渉することは有効ですか?

ビルド番号を保存する他の手段はありますか? SVN が一部のキーワードのソース コードを変更できることは知っていますが、変更するにはこれらのファイルをコミットする必要があります。特定のファイルをコミットするときではなく、常にそのリビジョン番号を更新できるようにしたいのです。

4

4 に答える 4

2

表示したいのはコミット番号ではなく、リビジョン番号です。

svn infoリポジトリの最新リビジョン番号を出力するコマンドを確認してください。を発行するアプリケーションを作成svn infoして、最新のリポジトリ リビジョン番号を知ることができます。

于 2012-10-23T15:18:45.587 に答える
1

svn:keywordsを見てください。ファイルを入れることができ$Revision$、そのファイルにsvn:keywordsが設定されている場合、Subversionはその文字列にリビジョン番号を追加します。

から:

 Revision = $Revision$

に:

 Revision = $Revision: 12343$

これは、このファイルがリビジョン12,343でコミットされたことを示しています。

于 2012-10-23T16:37:47.270 に答える
0

David が指摘したように、svn "$Revision$" keyword を使用できます。もちろん、これにより、その特定のファイルが最後に変更されたリビジョンがわかります。

プロジェクトの全体的な最新リビジョンを知るには、svnversionコマンドライン ツールを使用できます。の後にはsvn update、常に単一の番号が表示されます (ただし、これはリポジトリ全体の HEAD リビジョンになります)。-cまたは--commitedスイッチを使用すると、first:lastほぼ確実に範囲を取得できますが、 を使用する:と、プロジェクトの最新のリビジョンが得られます。

于 2019-11-14T10:29:13.547 に答える