Простой способ создать по необходимости changelist с несколькими спецификациями файла

Мое правило (как разработчик приложения): не касайтесь его! Это - то, для чего обученные DBAs. Heck, я даже не хочу разрешение коснуться его.:)

8
задан Brian Carlton 16 October 2009 в 13:48
поделиться

5 ответов

Вы можете создать список ожидающих изменений, затем переместите туда все нужные файлы перед отправкой. Даже из командной строки, хотя я считаю, что p4V проще использовать для этой функции.

http://www.perforce.com/perforce/doc.current/manuals/cmdref/change.html#1040665

p4 change

чтобы создать ожидающий список изменений.

p4 reopen 

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

4
ответ дан 5 December 2019 в 04:42
поделиться

Введите

p4 submit

Если ваш P4EDITOR - vim, вы получите окно редактирования vim. Перейдите в командный режим и выберите все строки после строки «Файлы:», набрав

v followed by PgDown until you're done selecting all the files

Затем выполните

:g!/.*pattern1.*#/d

Если у вас есть несколько подобных шаблонов,

:g!/.*pattern1.*#\|.*pattern2.*#\|.*pattern3.*#/d etc...

Надеюсь, это поможет!

0
ответ дан 5 December 2019 в 04:42
поделиться

Это бесконечно неприятная проблема. Вы должны иметь возможность создать список изменений p4 из командной строки Windows, не вызывая редактор, выполнив:

p4 change -o 
    | findstr /C:Description: /C:Change: /C:Client: /C:User: /C:Status: 
    | p4 change -i

Возвращаемая строка будет примерно такой: «Изменение 1500 создано». который вы можете проанализировать на предмет списка изменений. Затем вы можете добавить индивидуальные спецификации файлов, выполнив:

p4 edit -c 1500 //depot/base/...files.c

Или что-то в этом роде. Относительно серьезной проблемой этого решения является невозможность изменить описание. В качестве альтернативы вы можете создать временный файл с необходимыми строками Description, Change, Client и т. Д. И создать список изменений с помощью:

p4 change -i < tempfile.txt

Это кажется несколько небрежным, но может быть лучшей альтернативой для сценариев.

10
ответ дан 5 December 2019 в 04:42
поделиться

Основываясь на ответе Майкла Гилберта, вы можете отредактировать описание в PowerShell следующим образом:

$newCLFormat = p4 change -o | select-string -pattern change, client, status
$newCLFormat += "Description: " + $myDescription
$newCLFormat | p4 change -i

Чтобы вытащить новый номер списка изменений:

$newCLFormat | p4 change -i | select-string "\b(\d)+" | %{$_.matches[0].value}

Теперь должен быть более быстрый и аккуратный способ чтобы вытащить этот номер?

edit: изменен findstr на select-string

edit: более удобный способ получить список изменений:

$newCLFormat | p4 change -i | %{ $_.split()[1] }
5
ответ дан 5 December 2019 в 04:42
поделиться

Если вы ищете решение для командной строки UNIX / * NIX, это даст вам новый чистый список изменений и сохранит номер в $ cl :

export cl=`p4 change -o | grep '^\(Change\|Client\|User\|Description\)' | p4 change -i | cut -d ' ' -f 2`
15
ответ дан 5 December 2019 в 04:42
поделиться
Другие вопросы по тегам:

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