Команда populate
работает только для конкретного случая c, когда вы создаете совершенно новую ветку; он не обрабатывает случаи, когда вам может понадобиться разрешить источник относительно цели, поэтому он автоматически завершится ошибкой, если в цели есть любые файлы (даже удаленные).
Если ветвь была только для тестирования, вы можете стереть ее:
p4 obliterate -y destination/...
Или вы можете изменить свой код для учета существующих файлов:
p4.run("integrate", f"{path}@{changelist}", destination)
p4.run("resolve", "-as")
result = p4.run("submit", "-d",
f"integrated from {path}@{changelist} to {destination}")