Возможно, вы захотите использовать команду p4 reconcile
, которая автоматически открывает файлы рабочей области для действия, которое соответствует их текущему состоянию относительно хранилища.
Имейте в виду, что если вы идете по этому пути, reconcile
работает только с неоткрытыми файлами, которые отличаются от версии депо, поэтому он предназначен для использования после внесения локальных изменений (это отличается от стандартного рабочего процесса, в котором вы открываете файл с помощью p4 edit
до его редактирования - идея в том, что вы используете reconcile
, чтобы исправить положение после того, как вы 'пришлось работать отключено или что-то в этом роде).Кроме того, если вы передумали в отношении того, что вы делаете с файлом (например, вы удалили локальную копию после того, как она была открыта для edit
, но перед вами submit
), вам может понадобиться revert -k
его и повторно- reconcile
чтобы убедиться, что он открыт для правильного действия.
Для чего-то, что соответствует псевдокоду в вашем вопросе, вы, вероятно, захотите команду p4 have
, которая сообщит вам, соответствует ли локальный файл депоревизия (и если да, то какая).p4 edit
работает только с файлом, который вы have
, тогда как p4 add
будет для файла в вашем рабочем пространстве, который не соответствует существующему файлу депо.(Очень тонкий момент здесь - возможно, что файл сопоставляется с файлом депо, несмотря на то, что он не был синхронизирован из хранилища! Если это так, вы столкнетесь с конфликтом, когда будете отправлять своиadd
.)