2021-07-16: ЭТОТ ОТВЕТ МОЖЕТ БЫТЬ УСТАРЕЛ.
Я достаточно уверен, что это было правильно в 2016 году, для какой бы версии Perforce я их не использовал (которая не обязательно была самой последней). Но похоже, что эта проблема или ограничение дизайна были устранены в последующих выпусках Perforce. Я не знаю, каков этикет по переполнению стека для этого - следует ли удалить этот ответ?
ОТВЕТ 2016 г.
Я чувствую себя побужденным добавить ответ, поскольку принятый ответ и некоторые другие имеют, на мой взгляд, серьезную проблему: они не понимают разницы между командой запроса только для чтения и командой, которая вносит изменения.
Я не жду никакого уважения к этому ответу, но надеюсь, что он поможет другим избежать тратить время и делать ошибки, следуя принятому, но ИМХО неверному ответу.
--- + КОРОТКО
Вероятно, самый удобный способ найти все неотслеживаемые файлы в специальной рабочей области - p4 reconcile -na
.
-a
говорит, дайте мне файлы, которых нет в репозитории, т.е. которые должны быть добавлены.
-n
говорит, что никаких изменений не вносить - т.е. пробный прогон. (Хотя в сообщениях может быть сказано открыто для добавления, мысленно вы должны интерпретировать это так, как если бы они были открыты для добавления, если не -n)
Вероятно, самый удобный способ найти все локальные изменения, сделанные в автономном режиме - не только файлы, которые, возможно, потребуется добавить, но также файлы, которые, возможно, потребуется удалить, или которые были изменены без открытия для редактирования с помощью p4 edit
, - это p4 reconcile -n
.
Несколько ответов содержали сценарии, часто с участием p4 fstat
. Хотя я не проверил все эти сценарии, я часто использую аналогичные сценарии, чтобы восполнить недостатки команд perforce, таких как p4 reconcile -n
- например, часто я обнаруживаю, что мне нужны локальные пути, а не пути к хранилищу Perforce или пути к рабочему пространству.
--- + ВНИМАНИЕ
p4 status
НЕ является эквивалентом команд состояния в других системах контроля версий.
p4 status
НЕ является запросом только для чтения. p4 status
фактически находит такие же изменения, что и p4 reconcile
, и добавляет их в репозиторий. p4 status
, похоже, не имеет -n
опции пробного прогона, как у p4 reconcile
.
Если вы делаете p4 status
, смотрите на файлы и думаете: «О, они мне не нужны», тогда вам придется p4 revert
их, если вы хотите продолжить редактирование в той же рабочей области. В противном случае изменения, которые p4 status
добавлены в ваш набор изменений, будут проверены в следующий раз.
Похоже, что нет причин использовать p4 status
вместо p4 reconcile -n
, за исключением некоторых деталей о локальном рабочем пространстве и имени пути к депо.
Я могу только представить, что тот, кто выбрал «статус» для команды, не предназначенной только для чтения, имел ограниченное владение английским языком и другими инструментами управления версиями.
--- + P4V
GUI
В графическом интерфейсе пользователя p4v
команда согласования находит локальные изменения, которые, возможно, потребуется добавить, удалить или открыть для редактирования. К счастью, он не добавляет их в список изменений по умолчанию; но вы все равно можете быть осторожны, чтобы закрыть окно согласования после его проверки, если вы не хотите фиксировать изменения.
person
Krazy Glew
schedule
08.10.2016
p4 status
не просто НАХОДИТ неотслеживаемые файлы, он фактически НАЧИНАЕТ ИХ ОТСЛЕЖИВАНИЕ. Т.е.p4 status
не является запросом только для чтения, как можно было бы догадаться по названию, но на самом деле это команда, которая меняет что-то, а не файлы рабочей области. Это НЕ то, что должна делать команда статуса, и НЕ то, что делаетsvn status
. Самое близкое, что я могу найти кsvn status
, - этоp4 reconcile -na
- -a, чтобы указать файлы, которые следует добавить, -n, чтобы сказать, что на самом деле ничего не меняет. /// Изначально я сказал что-то более сильное. - person Krazy Glew   schedule 08.10.2016p4 status
), и сам ответил на нее. Лучше приветствовал - person Krazy Glew   schedule 09.10.2016p4 reconcile
, иp4 status
работают чертовски медленно, в то время какgit status
завершил выполнение за 1-3 секунды. - person zwcloud   schedule 19.07.2019