C/C++ ソース コードで次のステートメントをよく見かけます。
$Id: lzio.c,v 1.24 2003/03/20 16:00:56 roberto Exp $
$Id: file name, version, timestamp, creator Exp $
どのソフトウェアがこれらの「署名」を生成するか考えていますか?
C/C++ ソース コードで次のステートメントをよく見かけます。
$Id: lzio.c,v 1.24 2003/03/20 16:00:56 roberto Exp $
$Id: file name, version, timestamp, creator Exp $
どのソフトウェアがこれらの「署名」を生成するか考えていますか?
Subversionでのキーワード置換により、この種の情報、特にIdが生成されます。
Id
このキーワードは、他のキーワードの圧縮された組み合わせです。その置換は$Id:calc.c 148 2006-07-28 21:30:43Z sally $のようになり、ファイルcalc.cが2006年7月28日の夜にリビジョン148で最後に変更されたことを意味すると解釈されます。ユーザーサリーによって。
svn:keywordsを使用して、これらの値を挿入するようにSubversionに指示できます。
Subversionに特定のファイルのキーワードを置き換えるかどうかを指示するには、プロパティ関連のサブコマンドを再度使用します。svn:keywordsプロパティは、バージョン管理されたファイルに設定されている場合、そのファイルで置換されるキーワードを制御します。値は、前の表にあるキーワード名またはエイリアスのスペース区切りのリストです。
設定を編集して、これらの置換を自動的に行うこともできます。
Subversionは、ファイル名パターンからプロパティ名および値へのマッピングを作成できる自動小道具機能も提供します。これらのマッピングは、ランタイム構成領域で行われます。これらも追加とインポートに影響し、これらの操作中にSubversionによって行われたデフォルトのMIMEタイプの決定をオーバーライドできるだけでなく、追加のSubversionまたはカスタムプロパティを設定することもできます。たとえば、JPEGファイル(パターン* .jpgに一致するファイル)を追加するたびに、Subversionはそれらのファイルのsvn:mime-typeプロパティをimage/jpegに自動的に設定するというマッピングを作成できます。または、*。cppに一致するファイルでは、svn:eol-styleをnativeに設定し、svn:keywordsをIdに設定する必要があります。Auto-propサポートは、Subversionツールボックスでおそらく最も便利なプロパティ関連ツールです。
CVS などのバージョン管理システムは、このようなタグを作成できます。
RCS と CVS はどちらも、そのように見える文字列を生成します。
これらの値を自動的に設定する vim セットアップをいくつか見てきました。SVN は、コミット ログのデフォルト情報を入力するために、コミット前後のフックでこれらの値を取得できます。
PERFORCEは、これらのキーワードの一部(すべてについてはわかりません)をサポートしています。