Я чувствую необходимость добавить ответ, поскольку принятый ответ и некоторые другие имеют, как мне кажется, существенную проблему: они не понимают разницы между командой запроса только для чтения и командой, которая создает изменения.
Я не ожидаю никакой оценки за этот ответ, но я надеюсь, что он поможет другим избежать потери времени и ошибок, следуя принятому, но ИМХО неправильному ответу.
--- + КРАТКОЕ
Вероятно, наиболее удобный способ найти все неотслеживаемые файлы в рабочей области Perforce - p4 reconcile -na
.
-a
говорит: «дайте мне файлы, которых нет в репозитории, т.е. которые должны быть добавлены».
-n
говорит: «не вноси изменений», т. Е. Пробный прогон. (Хотя в сообщениях может быть сказано «открыт для добавления», мысленно вы должны интерпретировать это как «будет открыт для добавления, если не -n»)
Вероятно, наиболее удобный способ найти все локальные изменения, сделанные в автономном режиме - не только файлы, которые, возможно, необходимо добавить, но также файлы, которые, возможно, необходимо удалить или которые были изменены без открытия для редактирования с помощью p4 edit
, p4 reconcile -n
.
Несколько ответов предоставлены сценарии, часто с участием p4 fstat
. Хотя я не проверял все эти сценарии, я часто использую подобные сценарии, чтобы компенсировать недостатки команд выполнения, таких как 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
, за исключением некоторых деталей локального рабочего пространства и пути к депо.
Я могу только представить, что тот, кто выбрал «status» для команды, не предназначенной только для чтения, имел ограниченное владение английским языком и другими инструментами контроля версий.
--- + P4V
GUI
В графическом интерфейсе p4v
команда согласования находит локальные изменения, которые, возможно, необходимо добавить, удалить или открыть для редактирования. К счастью, он не добавляет их в список изменений по умолчанию; но вы все равно можете быть осторожны, чтобы закрыть окно согласования после проверки, если вы не хотите зафиксировать изменения.