web-dev-qa-db-ja.com

ワークスペースがすでにディスクから削除されている場合、保留中のファイルがあるPERFORCEクライアントワークスペースを削除しますか?

保留中のファイルがあるワークスペースがすでにディスクから削除されている場合、そのワークスペースを削除するにはどうすればよいですか?

警告:

  • p4コマンドラインのみ。 p4vGUIではありません
  • 通常のユーザーアクセス。管理者アクセスなし

シナリオ:

  • user_workspaceディレクトリのディスクに~/my_workspaceという名前のワークスペースを作成します
  • デフォルトの保留中のチェンジリストにあるワークスペースのp4編集ファイル
  • 手作業でワークスペースを削除します(rm -rf ~/my_workspace
    • ワークスペースは、保留中のファイルがあるサーバーにまだ存在します

動作しないソリューション:

1:ワークスペースを削除する

ワークスペースでファイルが開かれているため、機能しません。

p4 client -d user_workspace

クライアント「user_workspace」でファイルが開かれています。 -fを使用して強制的に削除します。

2:ワークスペースを強制的に削除する

管理者ではないため、機能しません。

p4 client -d -f user_workspace

この操作に対する権限がありません。

3:保留中の変更リストを削除します。次に、ワークスペースを削除します(1を試してください)

p4 changes -c user_workspace -s pending

保留中の番号付きチェンジリストのみをリストし、デフォルトの保留中のチェンジリストを処理しません。

p4 -c user_workspace -d changelist_number

保留中のチェンジリストのチェンジリスト番号がないため、不可能です。

4:保留中の変更リストを削除します。次にワークスペースを削除します(2を試してください)

もう存在しないディレクトリでp4復帰を実行しようとすると、奇妙なエラーが発生します。

p4 revert ~/my_workspace

/ home/user/my_workspace-クライアント 'user_workspace'を参照する必要があります。

p4 -c user_workspace revert ~/my_workspace

/ home/user/my_workspace-クライアント 'user_workspace'を参照する必要があります。

setenv P4CLIENT user_workspace; p4 -c user_workspace revert ~/my_workspace

/ home/user/my_workspace-クライアント 'user_workspace'を参照する必要があります。

15
engtech

1.保留中のチェンジリストを元に戻す

ローカルディレクトリはもう存在しないため、ローカルディレクトリ表記の代わりにPERFORCEデポ表記を使用する必要があります。

p4 -c user_workspace revert -k //...

// blah/blah/blah/file#rev-編集され、元に戻されました

2.クライアントワークスペースを削除します

p4 client -d user_workspace

クライアントuser_workspaceが削除されました。

31
engtech

これにより、クライアントで保留中の変更が提供されます

p4 changes -c user_workspace

これにより、選択した保留中の変更リストが削除されます

p4 change -d <change list number>

その後、を使用してクライアントを削除できます

p4 client -d user_workspace 
5
mimiA

コマンドラインが機能しませんでした。コマンドの「ライセンスクォータを超えている」と報告し続けました。私はおそらくそれに関連して何か間違って構成されています。これは、最初にその問題を修正してから、上記の解決策を使用する必要があることを意味します。ただし、p4vクライアントを使用してこの問題を修正する別の方法を見つけました。

ジャンクワークスペースは、以前のコンピューターの古いワークスペースでした。ファイルがチェックアウトされていないものは、ワークスペースのタブビューで右クリックして削除することができました。ファイルがチェックアウトされたままのワークスペースは、他のワークスペースで発生しているため、削除できませんでした。これらを削除するには、いくつかの追加手順を実行する必要がありました。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~

*または:p4vクライアントのみを使用してこれらの4つのステップを試してください*

  1. ワークスペースを編集し、古いワークスペースの[ホスト]フィールドを空白にします。私が読んだ別のスレッドでは、これによりどのコンピューターからでも編集できます。
  2. ワークスペースに切り替えます
  3. WORKSPACEビューのファイルを元に戻します。ファイルをローカルマシンに同期する必要はありませんでした
  4. [ワークスペース]タブに戻った後、ワークスペースを削除します。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~

これが誰かに役立つことを願っています。

3
Mike Grimm

(チェンジリストやその他の問題がある)p4クライアントを削除するためにp4-delete-clientというこのスクリプトを作成しました。
次の機能があります。

  • チェンジリストを自動的に削除します(保留中の状態に戻し、棚上げを削除します)
  • ホスト名を修正します(クライアントが作成されたものと異なる場合)
  • ロックされている場合はクライアントのロックを解除します
  • クライアントを削除します
  • 関連するファイルを削除します(引数から削除しないように構成できます)

スクリプトは repo の他のスクリプトに依存していることに注意してください。

0
Arnon Zilca