既存のPERFORCEアプリケーションを開こうとしています。元に戻したいファイルの削除など、いくつかのローカル変更を行いました(つまり、ローカルコピーをリポジトリと完全に一致させたい-追加ファイルの削除、削除ファイルの復元、変更の元に戻す)。
P4v guiクライアントを使用して元に戻そうとすると、次のエラーが表示されます。
file(s) not opened on this client
私は何が間違っているのですか?
変更されたすべてのファイルを元に戻すことができましたが、追加/削除されたファイルは元に戻せませんでした。
編集:私は次のことをしました:
C:\Perforce
)「元の」状態に戻したいと思います。これは、リポジトリの最新バージョンを初めて取得したときにサーバー上にあったもののコピーです。
編集した説明の外観により、PERFORCEを介さずに、ファイルシステム上で直接ファイルを追加および削除しました。したがって、PERFORCEはこれらの変更について何も知らないため、元に戻すものはありません。通常、ファイルを追加する場合は「p4 add」(または同等のp4v操作)を使用し、削除する場合は「p4delete」(または同等のp4v操作)を使用する必要があります。
実際、元の状態に戻すための最良のオプションは、c:\ perforce(Windowsエクスプローラー内)でコードのローカルコピーを削除し、p4vに移動して、同期する領域を右クリックし、[リビジョンを取得]を選択することです。 ...」と続くダイアログで、「強制操作」チェックボックスがチェックされていることを確認してください。これにより、同期したかどうかに関係なく、すべての新しいコピーが必要であることがPerforceに通知されます。
P4vで「オフライン作業の調整」を実行することもできます。デポエリアを右クリックして、そのオプションを選択します。ローカルフォルダ構造をスキャンして、PERFORCEに存在しない追加されたファイル、削除されたファイル、および変更されたファイルのレポートを提供します。そのダイアログから、PERFORCEに存在しないローカルファイルを右クリックして削除するか、「p4追加」することができます。削除したファイルを同期することもできます。
HTH。
これの別の原因を指摘しないためにちょうど余分。ファイル名に正しく翻訳できない異常な文字が含まれている場合、クライアントの名前がサーバーの名前と一致することはありません。この場合の解決策は、ファイル名でその文字を見つけ(Linuxでは疑問符のエンブレムになります)、ワイルドカードを使用してサーバーに対してファイルを識別し、削除できるようにすることです(p4ファイルの削除は行く方法)。
この答えはあなたの場合ではないかもしれません。これは、p4にログインせずにローカルディスク上のファイルを編集したときに発生しました。
コマンドラインでの簡単な修正は次のとおりです。
p4 login # make sure you've logged in
p4 edit <filename> # let p4 know you've edited the file
p4 revert <filename> # revert to "pristine" state