注意してください!
p4 changes "...#>have"
新規/追加されたファイルのみを含む変更リストは表示されません。
あなたの最善の策は、最後の同期ポイントをキャッシュすることです。
HEAD=`p4 counter change`
if [ -f lastbuild.txt ]
then
OLDHEAD=`cat lastbuild.txt`
else
OLDHEAD=`p4 changes -m1 ...#have`
echo lastbuild.txt not found! I will guess that your last sync was @$OLDHEAD
fi
p4 changes ...@$OLDHEAD,$HEAD > changes.txt
# -snip- review changes.txt, perhaps prompt "Continue with sync to $HEAD?"
p4 sync ...@$HEAD
echo $HEAD > lastbuild.txt
この方法では、最後に同期ポイント キャッシュを更新してからチェンジリストをサブミットまたはチェリーピック同期した場合に誤検知が発生しますが、1 つ、特にすべてを含むチェンジリストを見逃すよりも、レビュー用に追加のチェンジリストをリストすることをお勧めします。新しいコード。
家でこれを試さないでください
後世のために、私が過去に試して最終的に失敗した他のいくつかのことを次に示します。
p4 changes ...#have > have.txt
p4 changes ...#head > head.txt
diff have.txt head.txt
すべての追加を含む変更リストのケースをカバーしますが、最終的な出力には、#have で削除されたファイルの古い変更リストが誤って含まれます。また、デポに多くの履歴がある場合、パフォーマンスがかなり悪くなる可能性があります。
p4 sync -n ... | cut -f1 -d' ' | p4 -x- changes -m1 | sort | uniq
かなり近くなりますが、最後に同期してからファイルが複数回編集されている場合、古い変更リストを一覧表示できません。また、同期するファイルごとに 1 回ずつデポにヒットするため、パフォーマンスが非常に低下する可能性があります。