Попытка отправить список изменений без файлов рассматривается Perforce как ошибка (p4 submit ...
возвращает код выхода 1). Это приводит к сбою периодической сборки интеграции на нашем сервере сборки (мы используем систему Zutubi's Pulse); в этом случае я бы предпочел, чтобы сборка прошла успешно, возможно, с предупреждением.
Pulse имеет функцию переназначения кода выхода, но Perforce, похоже, не различает неоднозначность между неудачей отправки пустого списка изменений и любой другой ошибкой отправки (например, сбой триггера проверки, который я действительно хочу, чтобы сборка провалилась) .
Сразу очевидное (но, на мой взгляд, неэлегантное) решение, которое приходит в голову, - это обернуть выполнение p4 submit
в пакетный файл, который сначала проверяет, пуст ли целевой список изменений, подсчитывая строки вывода из p4 opened
- или просто анализируя вывод p4 submit
для сообщения «нет файлов» и успешный возврат из командного файла.
Есть ли более эффективные методы решения этой проблемы, которых я не вижу?