2011-10-07 8 views
2

私はPERFORCEの中で$リビジョン$ RCSキーワードを使用して管理している:私は私のファイルを更新 //depot/dev_projects/main/src/include/version.hそれは私のきれい、フ​​ァイルに定義が更新されます:ディポ・パスにRCS Revisionキーワードを使用できますか?

#define VCS_VERSION "$Revision: #4 $"

の改訂が含まれていることversion.hファイル。

本当に必要なのは、私のプロジェクトの//depot/dev_projects/main/src/フォルダーのリビジョンをversion.hファイルに埋め込むことです。例えば、//depot/dev_projects/main/doc/readme.txtにファイルを提出した場合、私はデポから最新のリビジョンを取得した後、version.hに#define VCS_REVISION "$Revision: #5 $"を表示したいと思います。

これを行う方法はありますか?

答えて

1

あなたは、ファイルと新しいファイルを終了するという2つのケースがあります。

p4 reopen -t text+k //groovy_project/src/....cpp 
:既存のファイル(と私はあなたがC/CPPのファイルについて話していると仮定するつもりです)のために、あなたは、単にファイルタイプ「テキスト+ K」を持つファイルを、その後、それらのファイルを提出する「再度開くP4」することができます

これは、// groovy_project/srcの場所にある.cppファイルをすべて再オープンし、それらを 'text + k'にします(+ kはRCSキーワード拡張を意味しますが、キーワード拡張が機能していることを知っていると思います)。

新しいファイルの場合は、 'p4 typemap'コマンドを使用する必要があります。 'p4 typemap'は、エディタでタイプマップを表示します。このフォームには、デポに追加された新しいファイルのファイルタイプへのファイルのマッピングが含まれています。新しいファイルに追加される既定のファイルタイプです(ファイルが追加されたときに新しいファイルが明示的に別のファイルタイプを使用する場合を除きます)。あなたのタイプマップで

TypeMap: 
     text+k //groovy_project/src/....cpp 

を持っている場合たとえば、// groovy_project/srcフォルダ内のすべての新しいの.cppファイルには、キーワード拡張を考慮して、テキスト+ kのファイルタイプを取得します。

注記新しいファイルにタイプマップにあるものとは異なるタイプを明示的に指定すると、明示的に指定されたタイプが使用されます。上のtypemapを持っていたとします。コマンド:

p4 add -t text ~/projects/groovy_project/src/newfile.cpp 

このファイルは、テキスト+ kではなく、デポにテキストとして追加されます。

この情報が役立つことを願っています。

EDIT:

あなたの元の質問に編集を読んだ後、短い答えはノーである、あなたは、フォルダのリビジョンを追加することはできません。もう少し長い答えは、PERFORCEが実際にフォルダ/ディレクトリについて知っていないということです。それは単にファイル(したがってファイルへのパス)について知っているだけです。ディレクトリは、実際にはデータベース内の個々のオブジェクトではなく、作業を行いたいものになります。

+0

は、あなたの速い答えをいただき、ありがとうございます。私は自分自身を明確にすることができなかったので、私は自分の質問を編集しました。 –

+0

もう一度おねがいしますが、あなたの編集はそうであるようです。フォルダはp4のエンティティではありません。たぶんコミットフックが助けるかもしれないが、私はもうp4を使用していない。:) –

関連する問題