12

リモート マシンでソース コードへの変更をテストするワークフローは次のとおりです。

1) ローカル マシン上: テストしたいシェルフの変更

2) リモートマシン (ssh):

$ p4 revert //... 
$ p4 sync
$ p4 unshelve -s <changelist number>
$ ./run_test_scripts

既に存在するファイルに変更を加えただけの場合、これはうまくいくようです。新しいファイルを追加した場合、これらは で作成されますp4 unshelveが、 では削除されませんp4 revert。ドキュメントによると、これはp4 revert予期しないことではありませんが、同じファイルを再度テストすると、いくつかの問題が発生します。

$ p4 revert //... 
<some file>#none - was add, abandoned
$ p4 sync
File(s) up-to-date.
$ p4 unshelve -s <changelist number>
Can't clobber writable file <some file>

Perforceで放棄されたファイルを削除する方法はありますか?

4

2 に答える 2

13

あなたが探しているのは だと思いますp4 revert -w。ヘルプから:

The -w flag causes files that are open for add to be deleted from the workspace when they are reverted.

注: 最近スイッチが追加された場合に備えて、2013.2/708877 サーバーに対して 2013.2/719516 クライアントを使用しています...

于 2013-11-13T21:37:14.930 に答える
1

編集:質問を読み直してください-これは回避策であり、おそらく完全な解決策ではありません...


P4Win には、アンシェルブ時にファイルを上書きできる設定があります。

  • Overwrite workspace files even if they are writeable

私は通常、それを別のオプションと組み合わせて使用​​します(再びGUIで):

  • Revert checked our files before unshelving

彼らは私の問題を解決します。

これをGUIから実行しているときにコンソール出力を見ると、コマンドの-fパラメーターのようです。unshelve

  • p4 unshelve -s <changelist> -f -c <changelist> <files>
于 2013-11-13T08:39:40.723 に答える