Мой первый инстинкт заключается в том, чтобы нормально входить (с использованием интеграции p4), а затем использовать сценарий IDE или sed для изменения имен пакетов. Но это делает будущую интеграцию с туловища крайне болезненной.Как создать ветку perforce с другим именем пакета java?
ответ
Если вам нужно изменить имена пакетов, то это действительно лучшее, что вы можете сделать. Интеграции, вероятно, не будут , что плохо. Просто убедитесь, что когда вы изначально повторно интегрируете свою ветку, чтобы отменить переименование. Это позволит понять, что инструкции пакета «синхронизированы», даже если они разные. Конфликты слияния в строках оператора пакета должны быть чрезвычайно необычными.
Большое раздражение было бы, если вы добавите новые классы позже, а затем интегрируете их в другую ветку. Вам нужно помнить, чтобы всегда реинтегрировать назад и отменить переименование пакета.
Будущая интеграция не должна быть проблемой. Perforce распознает их как изменения в ветке, и если вам удастся вытолкнуть изменения из ствола, это не будет вас обманывать.
Даже в более распространенном случае, когда вы перенаправляете свои изменения из ветки обратно в багажник, Perforce должен предлагать только интеграцию в первый раз. Ограничивая диапазон пересмотра интеграции при последующих версиях, изменения имени пакета не следует предлагать для интеграции.
Способ, который вы предлагаете, будет работать отлично, и вы не должны ожидать никаких проблем с Perforce.
Однако я могу добавить следующее предложение:
Сначала выполните интеграцию, за которой следует фиксация - и только в качестве второго фиксажа измените фактические имена. Это позволило бы увидеть изменения в истории гораздо более четко, не требуя сравнения между ветвями.
Если изменение требует переименования файлов, которые он, вероятно, -
- Вы бы филиал в не-составителя состоянии в течение минуты там. Это приемлемый компромисс для видимости, которую вы получаете.
- Возможно, вы захотите создать спецификацию ветви, чтобы отразить это переименование между двумя ветвями. Это упростило бы интеграцию.