2015-05-19 7 views
2

Фрагмент этого кода p4python получает описание perforce и удаляет квадратные скобки, упомянутые в описании. Я планирую сделать этот скрипт во время триггера change-commit, чтобы заменить описание CL, прежде чем даже отправить изменение. Не уверен, что случилось, но триггер не принимает мое новое описание изменений. Кто-нибудь пытался сделать это с помощью p4python? Любые намеки высоко оценилp4python изменить описание изменить описание

describe = p4.run('describe', changeList) 
print describe 

description = describe[0].get('desc') 
print description 

description = description.replace('[', '') 
description = description.replace(']', '') 
print description 

Сначала описывают печатает

[{'status': 'pending', 'changeType': 'public', 'rev': ['21'], 'client': 'workspace1', 'user': 'username', 'time': '1432010818', 'action': ['edit'], 'type': ['text'], 'depotFile': ['//depot/repo/Vagrantfile'], 'change': '12345', 'desc': '[ABC-789] testfile commit'}] 

Первое описание принты

[ABC-789] testfile commit 

Второе описание снимает квадратные скобки

ABC-789 testfile commit 

ответ

1

является «изменение-ком mit trigger "опечатка? Триггер смены изменений называется после изменение полностью отправлено и не может вносить в него никаких изменений.

Если вы хотите изменить список изменений во время процесса отправки, вам нужно использовать триггер отправки-передачи или изменения контента.

+0

Спасибо за исправление Bryan .. вы SRE правильно .. я имел в виду изменить содержание- – thunderbird

+0

Вы должны быть в состоянии изменить описание списка изменений во время триггера с фиксацией изменений. Однако будет недостаточно просто изменить вашу «описательную» переменную в вашей программе Python, и ее будет недостаточно, чтобы напечатать обновленное описание на stdout. Вам нужно будет запустить команду «change -i» с измененной спецификацией изменений, чтобы содержать пересмотренное описание списка изменений (но остальная версия списка изменений не изменилась). –

1

Поскольку вы имеете в виду при изменении подать триггер/содержимого, вот что я делаю:

details = p4.fetch_change(changelistNumber) 
description = details['Description'] 

# Make changes to description 

details[descriptionKey] = description 
p4.save_change(details) 
Смежные вопросы