私はPERFORCEクライアント上でいくつかのファイルをチェックアウトしました。 コマンド 'p4 opened'でこれらのファイルのリストを取得することができます これは// depot/...という形でパスを与えます これはローカルパス上のパスにどのように変換できるのか知りたいのですがクライアント・パス) 私はちょうど一日の終わりの前にそれらのバックアップに事前 で 感謝をバッチファイルを作成できるように、ウダイPerforceは開いているファイルのローカルコピーを保存します
答えて
p4 where
を使用すると、デポファイル指定をローカルファイル指定に変換できます。 forループの本体は、より複雑なマッピングのために複数回実行することが
for /f "tokens=3" %%i in ('p4 where %my_depot_filespec%') do echo %%i
注、このように次のようなものが役立つかもしれませんが、Windowsのバッチファイルからp4 where
の出力を解析する
p4 where
のドキュメントに記載されているものと同じです。これらを処理する必要がある場合は、より複雑な解析を行う必要があります。
念頭におくべきことは、p4はファイルの場所だけを報告することです。それが存在するかどうかを確認することはありません。 –
@ジョナトン:良い点。デポに存在する場合でも、クライアントに同期されないことがあります。 – bk1e
はとしてそこにあなたがあなたのファイルシステムのパスに//デポのマッピングを定義しているあなたのp4クライアントをチェック。 // depotに置き換えてファイルのローカルパスを取得し、バックアップすることができます。
バッチファイルでそのプログラムをどのように取得できるかわかりません。
p4 where filename
これはあなたが探しているコマンドです。
ローカルファイルシステム上のデポのパス、クライアントパス、およびファイルの絶対パスが一覧表示されます。出力をcut
にパイプし、絶対パスを選択してコピーしてください。
バッチを使用して説明したOP Windowsを意味するファイル。切断コマンドは使用できない場合があります。 –
なぜあなたは、Perforce自体を使用しているのを避けて毎日ファイルをバックアップする必要があると感じているかもしれません。
開発ブランチを使用し、毎日の終わりに変更を提出すると(実際には「編集用の再オープン」フラグがチェックされています)、実際にはより簡単で効果的です。最初は、PERFORCEを使用して、自分の手動システムではなく、変更を追跡しています。
開発ブランチを使用するということは、あなたのワークメイトを台無しにすることなくこれらのチェックインを実行できることを意味します。
考えてみる価値のある提案です、それだけです。
私の経験では、perforce以外のローカルでのサブミット間のバックアップを維持することは、ブランチを維持しようとするよりも迅速かつ危険性が低くなります。 – justinhj
これは間違いなくPERFORCEを使う正しい方法です - 残念ながら、私の経験ではほとんどの開発者はこれを正しく行う方法を学ぶにはあまりにも怠惰です(多分忙しいかもしれません)。 – cristobalito
中チェンジからPERFORCEの開いているファイルをBATスクリプトのコピーを以下の
(%1コマンドライン引数)
P4が開か-c%1>オープン/ F「トークン= 1%1.TXT
delims =# "%% i IN(open-%1.txt)doコール:add-to-zip %% i
:/ zの/ F" tokens = 3 "%% j INの場合は、追加の郵便番号
( 'p4 where%1')zip [zip-file-name] %% j
ありがとうございました:-)私は開かれたファイルのクライアントパスを正確に探すことができるコマンドを探していましたeファイルをバックアップするのと同じ理由。コマンドだけでなく、スクリプトも用意されています:
こんにちは.. これは正しい答えのコメントにこれを言及できました。 :) – Uday
このバッチスクリプトは、ファイルを個々の変更リストに圧縮することができます。
for /F "tokens=1,5,6 delims=# " %%a IN ('p4 opened') do for /F "tokens=3" %%j IN ('p4 where %%a') do zip %%b%%c %%j
それは、このようなファイルを作成します。
change571620.zip
change673450.zip
change723098.zip
defaultchange.zip
このバッチスクリプトは、個々の変更リストにファイルを圧縮することができます。/F "tokens = 1,5,6 delims =#" %% IN( 'p4 opened')do/f "tokens = 3" %% j IN( 'p4 where %% a')の場合、
それはこのようにファイルを作成しますジップ%% bの%% Cは%% jの
の操作を行います。
change571620.zip
change673450.zip
change723098.zip
defaultchange.zip
FYI、としてv2012/2013の場合、毎日のバックアップ操作にPerforceのシェルビング機能を使用する方がよいでしょう。あなたのチームの他のユーザーは、これらの棚にもアクセスできます。この方法でバックアップすると、実際に気にかけていない中間ファイルの亜種(またはその一部がチェックインに適さない)によって履歴が汚染されるのを防ぐことができます。
- 1. Perforce Revert "このクライアントで開かれていないファイル"を示します。
- 2. 開いているファイルをリッチテキストボックスに保存する方法
- 3. VBAでExcel以外のファイルを開いて保存する
- 4. Paperclipファイルのアップロード - 一般公開されていないファイルを保存する
- 5. プロンプトなしで現在開いているファイルを保存する
- 6. Emacsを開いて保存するエンコーディング
- 7. すでに開いているファイルをJFileChooser Javaに保存していますか?
- 8. PHPはcsvを開いて新しいcsvにデータを保存します
- 9. 開いているファイルのリストを保存するためのVisual Studio用のセッションマネージャアドインはありますか?
- 10. ファイルをアップロードしてフォルダに保存していますか?
- 11. テキストを開いて削除してテキストファイルを保存する
- 12. ファイルを保存している間にハッシュを計算していますか?
- 13. ファイルをスワップし、PERFORCEの履歴を一度に保存する方法はありますか?
- 14. PERFORCEがファイルを正しく同期していません
- 15. Selenium IDEレコーディングFirefoxのファイルを開くまたは保存する
- 16. コアデータが保存されているドキュメントを保存しています...
- 17. PHP:PHPでファイルを別のルートディレクトリに保存していますか?
- 18. testbin/pastebinのファイルをPythonで保存しています
- 19. HTMLページを開いてPDFに保存
- 20. Drupalマルチサイトのローカルコピーを変更しようとしています
- 21. テキストはdbまたはファイルに保存されています
- 22. SDカードに保存されているPSDファイルを開く方法は?
- 23. クラスをファイルに保存していますか?
- 24. ファイルに文字を保存しています。
- 25. Android:プロジェクトディレクトリ(ファイル)に画像を保存していますか?
- 26. ファイルをフォルダに保存しています
- 27. Castle Windsor設定ファイルにパスワードを保存していますか?
- 28. Javascriptは以前に保存ウィンドウのタブhtmlを開いています
- 29. ファイルを開いて保存するときにエンコードが失われる
- 30. 私はブラウザとコードエディタで開いている.NETファイルを保存するたびにファイルが別のプログラムで使用されていると言います
この質問をチェックアウトすることができます:http://stackoverflow.com/questions/300692/how-to-convert-perforce-depot-locations-to-client-view-locations –