Как Вы быстро находите/удаляете весь пустой changelists в По необходимости?

должно быть более универсальным, должен не рассчитывает, хотя должен.

/@(foo|bar|baz)(?:\W|$)/

Здесь хорошая ссылка на regex.

редактирование: изменение, заканчивающееся для разрешения конец шаблона или разрыва слова. теперь принятие foo/bar/baz является полными доменными именами.

6
задан Thomas Corriol 19 October 2009 в 09:52
поделиться

2 ответа

Поскольку я работаю в Windows, я создал небольшой скрипт, делающий то же самое в PERL, а не в Shell, powershell или 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;

Обратите внимание, что на самом деле во всех В некоторых случаях это не очень умный сценарий: он пытается удалить абсолютно все представленные списки изменений, и это не позволяет сделать это принудительно, потому что, если файлы связаны с ним, вы получите ошибку.

Я полагаю, что результат сценарий должен быть отправлен в журнал и проанализирован так, чтобы были выделены только соответствующие строки.

Запуск сценария приведет к выводу, подобному:

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.

Ура,

Томас

0
ответ дан 17 December 2019 в 00:11
поделиться

Ах!

Мне нужно было просмотреть дополнительную документацию, прежде чем спрашивать об этом ...

http://public.perforce.com/wiki/Perforce_Command_Line_Recipes

Описание: Удалить все пустые отправленные списки изменений.
Команда оболочки: p4 changes -s отправлено | вырезать -d "" -f 2 | xargs -n1 p4 изменить -d -f
Powershell: отправлены изменения p4 | % {p4 изменить -d -f $ _. split () [1]}
px: px -F% change% changes -s отправлено | px -X- изменить -d -f
Авторы: Сэм Стаффорд, Филип Каниа, Шон Хладки

Да.

Томас

6
ответ дан 17 December 2019 в 00:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: