私は Windows を使用しているため、Shell、powershell、または px ではなく、PERL でまったく同じことを行う小さなスクリプトを作成しました :) :
#*******************************************************************************
# Module: delete_empty_changelist.pl
# Purpose: A script to delete empty changelist
#
@list = `p4 changes -s submitted`;
foreach $chg (@list)
{
$chgnbr = (split /\s+/, $chg)[1];
print `p4 change -d -f $chgnbr`;
}
exit 0;
実際、すべての場合において、これはあまり巧妙なスクリプトではないことに注意してください。サブミットされたすべての変更リストを完全に削除しようとしますが、ファイルが関連付けられているとエラーが発生するため、perforce によって削除が阻止されます。
関連する行のみが強調表示されるように、スクリプトの結果をログに送信して解析する必要があると思います。
スクリプトを実行すると、次のような出力が生成されます。
Change 857 has 1 files associated with it and can't be deleted.
Change 856 has 1 fixes associated with it and can't be deleted.
Change 855 has 1 fixes associated with it and can't be deleted.
Change 854 deleted.
Change 853 has 1 fixes associated with it and can't be deleted.
Change 852 has 8 files associated with it and can't be deleted.
Change 851 has 1 files associated with it and can't be deleted.
Change 850 has 2 files associated with it and can't be deleted.
Change 849 has 2 files associated with it and can't be deleted.
Change 846 deleted.
Change 845 has 2 files associated with it and can't be deleted.
乾杯、
トーマス