変更リストに添付されているため、コマンドラインから削除できない約 600 のジョブのリストがあります。それらをデタッチする方法を知っている唯一の方法はGUIを使用することですが、それには永遠に時間がかかります. より良い(つまり、より速い)方法を知っている人はいますか?
3 に答える
「修正」および「修正」コマンドを使用してそれを理解しました。手順は次のとおりです。
「fixes」コマンドの出力をファイルにダンプします
p4 fixes > tmp.txt
ファイルには、次のような一連の行が含まれます。
job005519 fixed by change 3177 on 2007/11/06 by raven@raven1 (closed)
job005552 fixed by change 3320 on 2007/12/11 by raven@raven1 (closed)
job005552 fixed by change 3318 on 2007/12/10 by raven@raven1 (closed)
...
信頼できるテキスト エディタを使用して (ここではメモ帳について話しているわけではありません)、行を Perforce コマンドに変換して変更リストからジョブを切り離すマクロを作成します (p4 fix -d):
p4 fix -d -c 3177 job005519
p4 fix -d -c 3320 job005552
p4 fix -d -c 3318 job005552
...
ファイルを .bat または .cmd ファイルとして保存して実行すると、バダビン、バダブーム...すべてのジョブが変更リストから切り離され、GUI を使用して、または先ほどの手順と同様の手順でジョブを削除できます。概要と「jobs」コマンドの出力:
p4 jobs > tmp.txt
Perforceの-x引数は非常に便利です。「指定されたファイル[または]標準入力から、1行に1つずつ引数を読み取るようにp4に指示します」。また、「job -d」を使用すると、変更に関連付けられている場合でもジョブを削除できると思います。したがって、チェンジリストに関連付けられているすべてのジョブを削除するには、次のようにします(テストされていません)。
p4 fixes -c <changenum> | p4 -x - job -d
次の DOS スクリプトを使用して、p4 修正からの出力を解析し、修正とジョブを削除できます。
ユーザーファイル名を設定=%1
for /F "tokens=1,5 delims= " %%i in (%users_filename%) do (
p4 fix -d -c %%j %%i
p4 ジョブ -d %%i
)