Здесь представлено несколько различных концепций.
У вас может быть одно рабочее пространство, или вы можете иметь несколько рабочих областей.
Каждая рабочая область имеет свой собственный корневой каталог на вашей рабочей станции и собственную копию всех файлов, которые вы недавно синхронизировали.
Если у вас есть одно рабочее пространство, вы можете переключать это рабочее пространство взад и вперед из одного потока в другой, используя команду «client -s» для переключения потока, к которому привязано это рабочее пространство. Таким образом, вы можете чередовать работу одного потока и работу над другим, используя одно рабочее пространство. В самых последних версиях сервера Perforce (2015.1+) есть даже команда «p4 switch», которая делает этот процесс еще проще.
Переключение одного рабочего пространства из одного потока в другой в командной строке с использованием «client -s» - это эквивалент перетаскивания значка рабочего пространства из старого потока в новый поток в Stream Graph, более или менее.
Вы также можете иметь несколько рабочих пространств, каждый из которых имеет независимый набор файлов sync'd, и вы можете работать с каждой рабочей областью отдельно. В командной строке, чтобы переключиться с одного рабочего пространства на другое, вы просто измените способ, которым вы указываете команду «p4», какой клиент вы хотите использовать, что вы можете сделать с переменной P4CLIENT или с помощью флага «-c» клиент. Например:
p4 -c client1 sync
против
p4 -c client2 sync
говорит клиент p4 для синхронизации первого client1
, затем client2
. Кроме того, вы можете сделать:
p4 set P4CLIENT=client1
p4 sync
затем
p4 set P4CLIENT=client2
p4 sync
для достижения того же эффекта (переключение между одной рабочей области, а другой в командной строке).
P4V, однако, имеет собственное понятие «текущего рабочего пространства», которое отделено от командной строки, и я не считаю, что просто изменить свою переменную P4CLIENT достаточно, чтобы выполнить операцию P4V «правой кнопкой мыши» в рабочей области и выбрав «переключатель в рабочее пространство».
Самое близкое, что вы можете получить в команде командной строки, которая изменяет рабочую область P4V как текущую рабочую область, я думаю, это вызвать другую копию P4V из командной строки и указать другое имя клиента когда вы делаете так, как описано здесь: http://www.perforce.com/blog/100114/p4v-secrets-calling-p4v-command-line
Но я думаю, что это поможет вам новое окна P4V с другой рабочей областью, а не изменять текущее рабочее пространство вашего текущего окна P4V.
Еще одна возможность, которую вы могли бы попробовать, - использовать один из инструментов автоматизации Windows GUI, например Autoit (https://www.autoitscript.com/site/), для создания сценария, который будет использовать меню «Соединение» в строке меню и управлять переключателем в рабочей области. . через Autoit.
Большое вам спасибо за подробный ответ! Я совершенно новичок в Perforce, и хорошо знать секреты p4v. Я буду использовать его с -c. Вы мне очень помогли! Спасибо! –