2014-02-16 3 views
7

Как получить корневой каталог perforce из командной строки? Я пробовал p4 info, но я бы предпочел не фильтровать это, чтобы добраться до корня. Я уверен, что есть способ, но я не мог его найти.Как получить корневой каталог perforce из командной строки?

Есть ли способ получить корень в контексте, чувствительном к контексту? Например, если у меня есть две рабочие области с иерархией, такой как сценарий A /.../ vs. B /.../, я бы ожидал, что скрипт вернет либо A, либо B в зависимости от того, откуда он был запущен.

+0

Что именно является «неволей корневым каталогом» здесь? Корневой атрибут клиента (который может или не может существовать на вашем текущем компьютере, поскольку он может использовать AltRoot, например, для межплатформенных клиентов)? –

+0

Я думаю, что @ChristopherCreutzig здесь правильно. 'P4 info' собирается разрешить ваши текущие настройки, тогда как захват его из рабочей области потребует моделирования того, что Perforce делает для обработки AltRoot ... – gaige

+0

Есть ли способ захватить его из p4-информации без фильтрации? Например, p4 info root? – thisisdog

ответ

6

Если вы хотите, чтобы ваш корневой клиент в одной команде запуска:

p4 -F %clientRoot% -ztag info 

Вам потребуется 2014,1 поздняя версия p4 использовать этот флаг.

+0

Получена ошибка: Неверная опция: -F. – some1

+0

Это работает для меня. У вас может быть более старая версия клиента P4 some1. –

+0

Ты прав Тор. Я уточнил ответ, чтобы уточнить. – Matt

0

Для более старых версий до 2014.1 использовать команду

p4 info | grep 'Client root:' | cut -d ' ' -f 3-

Смежные вопросы