Неволей. Получение статуса файла в песочнице - PullRequest
3 голосов
/ 17 сентября 2008

Как я могу выяснить состояние файлов в моем клиенте, я хочу знать, нужно ли обновлять файл, исправлять или модифицировать его и т. Д. В CVS я обычно запускал "cvs -n -q update" .> файл ". Позже ищите атрибуты M, U, P, C, чтобы получить текущее состояние файла.

При выполнении "p4 sync -n" не выводит, как "cvs -n -q update". Как посмотреть текущее состояние файлов в случае Perforce?

Ответы [ 4 ]

4 голосов
/ 17 сентября 2008

Насколько мне известно, нет команды, которая даст вам именно то, что вы хотите. Чтобы посмотреть, что делает команда обновления, в Perforce нет единой альтернативы. Я думаю, что вам ближе всего будет использовать команду 'p4 fstat' и проанализировать вывод, чтобы получить необходимую информацию.

Вам может пригодиться эта страница.

Я также нашел эту ссылку на p4wrapper, который утверждает, что включает в себя команды CVS (включая обновление) в сценарии. Там могут быть и такие, как этот.

Я также хотел бы прокомментировать, что ответ на этот вопрос подобен многим с Perforce, когда он спрашивает «как мне сделать…». Ответ обычно сводится к написанию сценария, который будет использовать результаты выполнения команд для получения нужных вам результатов. Их философия заключается в том, чтобы предоставлять команды «голыми руками» и предлагать разработчикам создавать базовые функции. Любить это или ненавидеть, это основная модель. Много хороших сценариев можно найти в публичном депо Perforce здесь .

3 голосов
/ 17 сентября 2008

Не уверен, что это то, что вы ищете, но команда p4 diff имеет несколько полезных опций. Из использования:

    -sa     Opened files that are different from the revision
            in the depot, or missing.  
    -sb     Opened for integrate files that have been resolved
            but have been modified after being resolved.  
    -sd     Unopened files that are missing on the client.  
    -se     Unopened files that are different from the revision
            in the depot.  
    -sl     Every unopened file, along with the status of
            'same, 'diff', or 'missing' as compared to its
            revision in the depot.  
    -sr     Opened files that are the same as the revision in the
            depot.
2 голосов
/ 09 февраля 2012

Полное раскрытие: я работаю для Perforce

В предстоящем выпуске 2012.1 появятся 2 новые команды: «статус p4» и «согласование p4». Для получения более подробной информации смотрите следующее:

http://www.perforce.com/blog/120126/new-20121-p4reconcile-p4status

1 голос
/ 17 сентября 2008

Не совсем уверен, что вы имеете в виду. Если вы говорите о том, какие файлы нужно «разрешить» (на языке перформанса), вы можете использовать:

p4 resolve -n

См. Веб-сайт руководства по командной строке p4 здесь: http://www.perforce.com/perforce/doc.current/manuals/cmdref/resolve.html#1040665

Также в P4V есть хорошая функция для выделения неподтвержденных и грязных файлов, если вы используете этот клиент. Щелкните правой кнопкой мыши на фодлере в представлении рабочей области и выберите «согласовать автономную работу». После небольшой обработки вы получите список файлов, которые не синхронизированы с хранилищем.

Надеюсь, это поможет.

...