私は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. 開いているファイルをリッチテキストボックスに保存する方法
- 4. Excel vba hideファイルを開いてファイルを保存するウィンドウ
- 5. 既存の* .xlsxファイルを開いて変更し、新しいファイルとして保存することができます(元のファイルはそのままです)。
- 6. JFileChooserを使用して現在開いているファイルを保存する
- 7. VBAでExcel以外のファイルを開いて保存する
- 8. csvファイルを保存してiPythonシェルを開いて使用する方法は?
- 9. Paperclipファイルのアップロード - 一般公開されていないファイルを保存する
- 10. プロンプトなしで現在開いているファイルを保存する
- 11. Emacsを開いて保存するエンコーディング
- 12. jmeterコマンドラインからxmlファイルを開いて保存する
- 13. URLでXMLファイルを開いて保存する
- 14. VBAを使用してオンラインのダイナミック名ファイルを開いて保存する
- 15. phpファイルを開いて選択したデータを入力して保存する
- 16. PhpStorm "名前を付けて保存"新しいファイルを開く
- 17. azureウェブサイトにファイルを保存していますが、phpを開けません
- 18. OWL API URLを介してオープンされたオントロジーのローカルコピーを保存する
- 19. ファイルを保存しているMVC
- 20. はなぜXmlSerializer.Serializeは、テストフェーズでファイルを保存しているが、公開バージョン
- 21. ファイルを.macファイルに保存しようとしています
- 22. Xamarin.Forms - ローカルストレージに保存されているファイルを開く方法
- 23. すでに開いているファイルをJFileChooser Javaに保存していますか?
- 24. PHPはcsvを開いて新しいcsvにデータを保存します
- 25. 新しいワークブックを開いて保存する - VBA
- 26. 私はExcelテンプレートを持っています。私はC#から新しいファイルを保存します。新しいファイルを保存します。
- 27. ファイルのダウンロードができますが、ファイルの保存ダイアログは開かない
- 28. 開いているファイルのリストを保存するためのVisual Studio用のセッションマネージャアドインはありますか?
- 29. Perforce API:Repository.GetChangeListsはファイルのないリストを返します
- 30. Hmiscラテックス()は、ファイルが保存されますが、Rが、私は.texファイルのテーブルとして保存したい
この質問をチェックアウトすることができます:http://stackoverflow.com/questions/300692/how-to-convert-perforce-depot-locations-to-client-view-locations –