Ponieważ jestem na Windows, Stworzyłem mały skrypt robi dokładnie to samo w Perl, zamiast muszli, PowerShell lub px :):
#*******************************************************************************
# 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;
pamiętać, że w rzeczywistości we wszystkich przypadkach nie jest to bardzo sprytny skrypt: stara się usunąć absolutnie każdą przesłaną listę zmian i uniemożliwia ją, aby to zrobić, ponieważ jeśli pliki są z nią powiązane, pojawi się błąd.
Przypuszczam, że wynik skryptu powinien zostać wysłany do dziennika i przeanalizować, aby podświetlić tylko odpowiednie wiersze.
Uruchamianie skryptu będzie produkować moc podobną do:
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.
Wiwaty,
Thomas
Powinieneś zaakceptować własną odpowiedź (aby oznaczyć pytanie jako odebrane). :-) – PhiLho
Nie mogłem użyć proponowanych odpowiedzi na moim komputerze z Windows, więc napisałem mały skrypt PERL, żeby zrobić to samo. :-) –