15

TortoiseSVNを介して、コミット前に取得しようとしているSVNのリビジョン番号を知って、そのリビジョン番号をソースコードのコメントセクションに入れることはできますか?

おそらく、TortoiseSVNがコミットしようとしているrev#に自動的に置き換える、ファイルに入れることができる特別なキー名/変数がありますか?

この背後にある動機は、ソースコードを見るだけで、最新のビルドを取得して、それがどのSVNリビジョンで構成されているかを確認できることです。それはまた、経営陣に暖かいあいまいさを与えます。

4

5 に答える 5

14

Subversionはキーワード拡張をサポートしていますが、実装を選択する前にここを読むことをお勧めします。

すでにSVNにあるコンテンツでコミットされたファイルを変更しないことが一般的に良い考えである理由はいくつかあります。上記の2番目のリンクは、これが悪い考えである理由の詳細を提供します。しかし、基本的に、差分とパッチは問題になる可能性があります。

また、logコマンドを使用して簡単に取得できるため、Subversionがキャプチャする情報を複製する必要はありません。

于 2010-02-24T19:13:05.470 に答える
6

SVNの特別なキーワード -具体的には「$Revision$」

于 2010-02-24T19:16:44.670 に答える
0

Antなど、ある種のビルドツールを使用してコードをパッケージ化する場合は、ビルドプロセスにSVNプロパティクエリを含めることができます。

私はAntでこれを行った経験しかないので、次のようになります。

<svn svnkit="true" javahl="false">
    <status path="." lastChangedRevisionProperty="svn.lastRev"/>
</svn>

svn.lastRevプロパティが設定されると、コードコメントに挿入できます(トークンの置換を介して)。これがまさにあなたが探しているものであるかどうかはわかりません。私は同意しますが、あなたのコードを見て、SVNrevが何であるかを知るのはいいことです。それはから来ました。

于 2010-02-24T20:02:06.370 に答える
0

プロジェクトの各ソースファイルにSVNリビジョン番号を保存することは重要ではありません。

たとえば、ファイル「svn.c」をプロジェクトに追加し、コミットごとにSVNに次の行を書き込ませることができます。

size_t svn_revision = n;        /* n is the revision number written by SVN */

その後、たとえば、起動時に変数を作成printf()できます。svn_revision

于 2020-07-02T15:12:22.157 に答える
0

SVNのキーワード置換機能を使用することもできます。

例:

Cソースファイルに次のコメントを追加します。

/*SVNリビジョン番号=$Revision * /

$ Revisionは、実際のコミットリビジョン番号に置き換えられます。

/*SVNリビジョン番号=123* /

ここを見てください: http ://svnbook.red-bean.com/en/1.7/svn.advanced.props.special.keywords.html

チャオ、エンリコ・ミリオレ

于 2020-10-19T07:54:38.300 に答える