申し訳ありませんが、stackoverflow では、この質問をしたときに登録していなかったため、自分自身またはあなたの回答に対する返信または編集を禁止しています。では、ここで回答を...
サイモン: ありがとう。リビジョン プロパティをコミットする必要がないと提案するのはなぜですか? nant ビルド スクリプトは現在、マージと再統合のためにブランチ バージョンを追跡するためにリビジョン プロパティを使用しています (svn の組み込みマージ機能はあまりにも簡単に混乱します)。ただし、これらのリビジョン プロパティは中央リポジトリにコミットする必要があり、リンクはこれに使用されているのと同じタイプのリビジョン プロパティを参照しています。他のタイプのリビジョン プロパティを参照していますか?
クリティカル スキル: はい。「バージョン 0.5.6.1049 に更新された Autobuild」をコミットするためのメッセージはカスタマイズ可能です。そのコミットは、Hudson を使用して CI によって実行される nant ビルド スクリプトで実際に発生します。また、Pub へのすべてのコミットの後に、ログを汚染する自動化されたメッセージが 1 つ (または複数) 続くため、そのコミットを排除したいことを思い出してください。
Mark: re: Priv へのポインタをコミットします。pub に commit したユーザーは Priv にアクセスできないため、どのリビジョンかわかりません。それ以外の場合は良い考えです。一方、自動化されたビルドは、pub と priv をビルドするときにこれを行いますが、他の実質的な変更がないバージョンを Priv にリンクするためだけに、大量の自動化されたコミットでログ ファイルを汚染します。
マーク: 通信をリポジトリの外に保存することを検討しましたが、それは解決できない別の問題につながります。これを解けば答えが得られます。問題は、pub リポジトリが、正確に対応するバージョンの Priv からビルドされたバイナリに依存するソフトウェアを保持していることです。そのため、Priv を保持しているサーバーに接続し、バイナリのリストを要求してダウンロードする「自動更新」機能が含まれています。重要なのは、このダウンロードを開始するための主要なパラメーターがバージョンであることです。
マーク: では、問題は、パブがどのバージョンをダウンロードするかをどのように知ることができるかということです? 現在、それは元の質問の状況によって解決されています。自動ビルド nant スクリプトは、Priv のバージョン番号を含めるように Pub のソース コードに変更をコミットしますが、それが「自動ビルドがバージョンを更新しました ..」で Pub ログを汚染するものです。自動更新ツールは、priv の場合にそのバージョンを使用して、Web サーバーから Priv バイナリを要求します。そして、それはすべて機能します。
マーク: 二次的な問題は、最初は関係を切り替えて、Pub のバージョン (Pub のバージョン) を使用して Pub ソフトウェアを自動更新し、Web サーバーが別のファイルを使用して最新のものを取得することで解決できるようです。 Priv バイナリの一致するバージョン。しかし、驚くべきことに、すべてのコミットから Pub ソフトウェアにバージョンを認識させる実用的な方法はないようです。
マーク: $Rev$ キーワードを自動更新コードに入れると、そのファイルが変更された場合にのみ更新されます。これは、Subversion での作業における「昔からの」課題のようです。pre-commit フックはソース コードをバージョンで更新できるようですが、誰かが問題の自動更新ソース ファイルをコミットする場合にのみ機能するようです。
マーク: あなたの最後のアイデアは少し混乱しましたが、追加の自動化されたコミットではなく、Pub へのコミットにバージョン情報を含めるというのは、先ほど述べたのと同じように思えます。私はそれが好きですが、理解できません(フォーラムや投稿を1日以上グーグルで読んだ後)。ファイルを個別にバージョン管理するだけなので、Subversion への通常のコミットと一緒にプロジェクト全体のバージョンをコミットする方法はよくある課題のようです。pre-commit フックで svnversion を使用しても、変更されたファイルのみが更新されますよね? では、自動ビルド ソース コードは、実行時にどのバージョンを認識するのでしょうか?
全員:質問と回答をありがとうございました。質問の理解を絞り込むのに役立ち、解決策にたどり着くことができます! SOはとてもクールです!