Как преобразовать местоположения хранилища Perforce в местоположения просмотра клиента

Я хотел бы знать, как преобразовать местоположения хранилища Perforce в местоположения представления клиента для целей написания сценария.

У меня есть сценарий, который сначала проверяет файл для редактирования в принудительном порядке, а затем взаимодействует с файлом. Мне нужно, чтобы местоположение депо (т.е. \Projects\Project6) было преобразовано в местоположение представления клиента. (например, д:\Проектс\Проект6).

Это возможно?


person Poltron Galantine    schedule 19.11.2008    source источник
comment
насильно хуже всего.   -  person bharal    schedule 22.07.2013


Ответы (3)


Я всегда использовал для этого команду p4 where. Вот его описание из встроенной справки:

where -- Show how file names map through the client view

p4 where [ file ... ]

    Where shows how the named files map through the client view.
    For each argument, three names are produced: the name in the
    depot, the name on the client in Perforce syntax, and the name
    on the client in local syntax.

    If no file is given, the mapping for '...' (all files in the
    current directory and below) is shown.

    Note that 'p4 where' does not determine where any real files are.
    It only computes where they should be according to the client view.
person bk1e    schedule 19.11.2008
comment
Если вы хотите проанализировать вывод p4 where и в ваших именах файлов есть пробелы, см. maillist.perforce.com/pipermail/perforce-user/2007-February/ — я обнаружил, что что-то вроде p4 where -T quack //blah/somefile.txt работает хорошо. Часть quack просто цитируется в выводе, но вы должны что-то там поместить. Кроме того, поскольку p4 where может выводить несколько результатов для сложных рабочих пространств (см. примечания по использованию в разделе perforce.com/perforce/doc.current/manuals/cmdref/p4_where.html), убедитесь, что вы берете только последнюю интересующую строку из вывода (я думаю, это безопасно). - person entheh; 05.08.2014

Я бы использовал команду p4 fstat. Я считаю, что его формат немного легче анализировать, чем формат p4. Кроме того, если вы пишете это на Python, вы можете использовать параметр -G, чтобы вернуть значения маршалируются как словари Python.

Также полезно отметить, что вы можете ввести команды справки p4, чтобы увидеть список команд и краткое описание того, что они делают.

person grieve    schedule 19.11.2008

Проверьте команду p4 have. Вы указываете ему либо местоположение хранилища, или имя файла клиента, и он сообщает вам местоположение хранилища, имя файла клиента, и какую версию этого файла вы используете. имеют.

person Graeme Perrow    schedule 19.11.2008