2

しようとしてp4 syncいますが、「書き込み可能なファイルを壊せません」というエラーが発生しました。そのため、書き込み可能な権限を削除しましたが、次のエラーが発生します。

$ ls -l file.txt
-r--r--r--  1 myusername  admin   1.0K Jan 1 00:00 file.txt

$ p4 sync file.txt
//the/depot/directory/file.txt#5 - deleted as /my/local/workspace/directory/file.txt
unlink: /my/local/workspace/directory/file.txt: Permission denied

としてログインしていmyusernameます。許可が拒否されるのはなぜですか?

4

2 に答える 2

1

ファイルのアクセス許可を変更する代わりに、を実行できますp4 sync -f。ただし、注意してください。危険な場合があります。

同期を強制します。クライアントワークスペースに指定されたリビジョンのファイルがすでにある場合でも、PERFORCEは同期を実行します。ファイルが書き込み可能である場合、それは上書きされます。このオプションは開いているファイルには影響しませんが、noclobberクライアントオプションを上書きします。

ですから、それを行う前に必ずあなたの仕事をコミットしてください。

于 2015-12-07T04:23:21.087 に答える
0

許可が拒否されるのはなぜですか?

あなたはあなた自身の書き込み許可を奪ったからです。つまり、ファイルに書き込む権限がなくなります。つまり、あなたに代わって動作するp4には、ファイルへの書き込み権限がなくなります。つまり、p4がユーザーに代わってファイルへの書き込み許可を要求すると、ファイルは拒否されます。これは、p4が「許可が拒否されました」と言っていることを意味します。

他に何が起こると思いましたか?

不平を言う理由p4 syncは、あなたがチェックアウトした(そしておそらく変更を加えた)ファイルを持っているように見え、それについて知らないので、あなたのハードワークを単に上書きすることを拒否するからです。それがあなたがしたいことであるならば、あなたは手動でファイルを元に戻すべきです。

PERFORCEは、ファイルがどのような状態にあると予想するかを追跡します。書き込み不可能なアクセス権を持つファイルを残し、それがまだその状態にあると予想する場合、ファイルを上書きする前にchmodを試みます。ただし、ファイルが書き込み可能である必要があると判断した場合は、ファイルを開いて書き込みを試みます。p4がchmodを呼び出さない場合、chmodが成功するという事実は関係ありません。

いずれにせよ、解決策は、ファイルを明示的に元に戻し、削除してから再プルすることなどです。

于 2012-07-12T21:20:28.617 に答える