6

これはとても単純なはずですが、うまくいくように見える解決策が見つかりません...

ファイルに適用したタグの名前を指定する CVS コマンドが必要です。リビジョン番号が表示されます。


CVS ツリー構造:

(filename)
    |
    +--> 1.1-----(branch)
          |         |
          |      1.1.1.1---(tag1)
          |         |
          |      1.1.1.2---(tag2)
          |         |
          |      1.1.1.3---(tag3)
          |         |
          |         :
         1.2
          |
          |
          :

例: CVS コマンドを使用して、タグ名 "tag2" を指定すると、CVS からリビジョン番号 "1.1.1.2" を取得するにはどうすればよいですか?


私が見つけることができる最も近いものはlog、フラグを指定してコマンドを使用することです-Qが、それでも必要以上の情報が得られます。

元:cvs -Q log -h filename

タグ名をコマンドに渡しlogても効果がないようです。


CVS バージョン情報:

ここに画像の説明を入力


私の現在の解決策は、perl スクリプトを使用してコマンドからの出力を解析するlogことですが、もっと簡単な方法が必要です...

4

1 に答える 1

1

タグ名を (-r オプションを使用して) log コマンドに渡すと効果がありますが、特に有用なものではなく、その効果は "-h" によって隠されています。

通常、ファイルのリビジョン番号を取得する最も簡単な方法VERSION(通常の使用例) は、ファイルにキーワードを含めることです。すなわち:

# Thu 21 May 08:40:59 BST 2015
THISREV="$Revision$"

注: リポジトリのバージョン番号を取得するには、リポジトリにコミットするたびVERSIONにこのファイルをコミットする必要があります。

特定のファイルのリビジョンが必要な場合は、基本的に、ログの「記号名」の部分からスクリプトを作成することに頼っています。だからr-1-0-0あなたのためにこれをしてください:

cvs -Q log -h VERSION | awk '/^\tr-1-0-0:/ {print $NF;}'

git describeコマンドに直接相当するものはありません。

于 2015-05-21T07:57:47.227 に答える