2015-09-21 4 views
0

Я пишу скрипт для синхронизации кода P4 с существующей меткой с помощью команды «p4 sync @labelname». У меня есть сетевая папка, отображаемая как (S :) где у меня есть рабочее пространство «check».Сценарий для синхронизации кода P4 с меткой

Проблема я столкнулся, когда я выполнить команду синхронизации, она создает дубликат каталога как «SUVHTV ~ 2» в S: и обновлении изменений вместо обновления в S:/проверить

Примечание: Рабочая область «проверка» создается с использованием Perforce, а Root предоставляется как (S:/check)

+0

Если рабочее пространство Root S: \ check, маловероятно, что команда синхронизации будет записывать файлы в S: \ SUVHTV ~ 2. Может быть, у вас есть точка соединения, которая перенаправляет файловые операции от одного к другому? Может быть, вы используете другую спецификацию рабочей области из той, которую, по вашему мнению, используете? Может быть, это что-то еще, что делает ваш сценарий? Невозможно узнать, что без дополнительной информации; Я рекомендую обратиться к технической поддержке Perforce, чтобы они могли помочь вам отладить. –

+0

Да, я также предполагаю, что он должен написать S: \ check, но это не так :( – user3512111

+0

Это потому, что сетевая папка отображается здесь на S:? Когда я делаю «ls» в корне, он отображает рабочие пространства «check» и «S:», позже созданная дублируемая рабочая область, которая в виде окон рассматривается как SUVHTV ~ 2. P4CLIENT устанавливается как проверка моего сценария перед командой синхронизации. – user3512111

ответ

0

Кажется, что ваша переменная окружения для P4CLIENT установлена ​​неправильно. Пожалуйста, явно установите эту переменную в свой скрипт.

Я предполагаю, что у вас есть инструмент cygwin/mks toolkit или какое-то другое программное обеспечение unix-shell-on-windows.

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

export P4CLIENT='check' 
Смежные вопросы