1

この質問は本質的にはすでに尋ねられていることを理解していますが、その質問には明確な答えがありませんでしたので、ご容赦ください.

背景: 私の会社では、バージョン管理の一環として Perforce 提出番号を使用しています。この方法が正しいかどうかは別として、そういうものです。現在、多くの開発者はコードとドキュメントを別々に提出しています。最初にコードを提出し、次にドキュメントを提出して、新しいバージョン番号でクライアント向けドキュメントを更新します。このプロセスを簡素化したいと思います。

私の考えは次のとおりです: Perforce トリガー (サーバー側で実行される) を作成し、提出されたドキュメント ファイル ( など) をスキャンし.txtて一意の用語 ( など#####PERFORCE##CHANGELIST##NUMBER###ROFL###LOL###WHATEVER#####) を探し、それを変更リストの値に置き換えます。提出時。 この値を決定する方法はすでに知っています。 私が理解できないのは、ファイルを更新する方法または場所です。

change-contentトリガーを使用することを(可能かどうかに関係なく)すでに決定しています。

"変更リストの作成とファイル転送の後、データベースへの送信をコミットする前に発生",

行く方法です。この時点で、ファイルはサーバー上のどこかに存在する必要があります。sedプレースホルダーの値を更新したり、意図した値に置き換えたりできるように、たとえば Python スクリプト内からこれらのファイルの (一時的な?) 場所を特定するにはどうすればよいですか? これまでに見つけた Perforce のオンライン ドキュメントでは、これが可能かどうか、またはこの段階での提出の仕組みがどのように機能するかについて、あまり明確ではありませんでした。

編集

基本的に私が探しているのは、RCS のような機能ですが、それに付随する見苦しい特殊文字シーケンスはありません。さらに掘り下げた後、私が求めているのはこの質問と同じです。ただし、トリガーはサーバー側で実行されており、ファイルは既にサーバーに転送されているため、これは可能であるに違いないと思います。したがって、スクリプトからアクセスできる必要があります。

リリース ノート ドキュメントからの次のスニペットを検討してください。

[#####PERFORCE##CHANGELIST##NUMBER###ROFL###LOL###WHATEVER#####] Added a cool new feature.  Early retirement is in sight.
[52702] Fixed a really annoying bug.  Many lives saved.
[52686] Fixed an annoying bug.

これはユーザーが提出するものです。次に、送信プロセス中に (前述のように、change-contentステージで) トリガーがこのファイルをインターセプトし、Perforce 内に最終的に格納されるものが次のようになるように変更します。

[52738] Added a cool new feature.  Early retirement is in sight.
[52702] Fixed a really annoying bug.  Many lives saved.
[52686] Fixed an annoying bug.

52738は、ユーザーが送信した変更リストの最終番号です(前述のように、この数は既に特定できているので、この点については詳しく説明してください。) つまり、ユーザーが Perforce クライアント コンソールで見るのは、次のようなものです。

Changelist 52733 renamed 52738.
Submitted change 52738.
4

3 に答える 3

1
  • 別のクライアント ワークスペース (および別のユーザー) で編集された保留チェンジリスト ファイルの内容を置き換えようとしていますか?

  • ドキュメント ファイルで置き換えようとしている情報の種類は何ですか? たとえば、RCS キーワード展開のような日付、ユーザー名ですか? http://www.perforce.com/perforce/doc.current/manuals/p4guide/appendix.filetypes.html#DB5-18921

あなたが望むことを行う別の方法がある場合に備えて、あなたが達成しようとしていることをより明確にしたいと思います.

何をしようとしているのかによっては、棚上げを検討することもできます ( http://www.perforce.com/perforce/doc.current/manuals/p4guide/chapter.files.html#d0e5537 )

また、提出前にクライアント側でファイルを変更するためのクライアント側トリガーに関して、私があなたの情報を追加できる既存の Perforce 拡張要求があります。実装された場合は、メールで通知されます。

于 2014-06-10T23:51:45.450 に答える