Как переместить папку рабочей области Perforce?

Я только что загрузил хранилище объемом 4,5 ГБ в неидеальное место на моем жестком диске.

Я хотел бы переместить папку, которую Perforce теперь видит как папку «рабочей области» (iPhone), в другую папку на моем жестком диске (имя проекта), а затем использовать эту папку в качестве папки рабочей области.

Возможно ли это, или мне нужно заново скачивать все депо?

Спасибо, Дэйв


person Dave Stewart    schedule 11.08.2011    source источник


Ответы (4)


в приложении P4V:

Откройте диалоговое окно «Рабочая область»: выберите «Соединение»> «Редактировать текущую рабочую область» ... измените «Корень рабочей области:» на желаемое.

Если вы еще не переместили файлы, P4V предложит скопировать их за вас.

person Ofir Attal    schedule 09.09.2014
comment
Хотя это произошло с опозданием на несколько лет, теперь это следует отметить как ответ. Я вручную переместил свое рабочее пространство в файловую систему Windows, а затем обновил его, используя этот ответ в p4v, и все работало без проблем, даже знал, какие файлы я проверил и т. д. - person Sirk; 26.03.2015
comment
Он предлагает скопировать файлы за вас, если вы сначала не скопировали вручную. - person RichardM; 24.06.2015
comment
Похоже, что это копирование с сервера, а не с локальной копии. 'p4 sync -f c: \ RA \ ... # head' Это может быть не идеально, если вы используете VPN или имеете большой поток (или и то, и другое) - person Denise Skidmore; 22.11.2016
comment
Однако будьте осторожны: если у вас есть несинхронизированные изменения (например, отмеченные для добавления или извлечения с изменениями), они не будут перемещены в новое место. Наверное, лучше сначала отправить все на сервер. Или, если вы не хотите отправлять сейчас, переместите папку вручную (в проводнике), а затем выполните согласование автономной работы. - person narF; 29.08.2017
comment
P4V 2017.3 не предлагает копировать файлы рабочего пространства. Вы должны сделать это вручную. - person chappjc; 23.02.2018

Если вы знаете, с каким списком изменений вы выполняли синхронизацию в последний раз, вы можете сделать это без повторной синхронизации. Вот как:

  1. Обратите внимание на последний синхронизированный список изменений
  2. Скопируйте / переместите папку в новое место
  3. Обновите свое рабочее пространство (корень или карту депо), чтобы он указывал на новое местоположение.
  4. Беги p4 flush //depot/path/to/folder/...@<last_changelist>

Команда flush сообщает серверу, что у вас есть файлы по указанному пути, в указанном списке изменений. Это синоним p4 sync -k.

person Mike O'Connor    schedule 11.08.2011
comment
Вы уверены, что вам нужно запустить p4 sync -k? Я не помню, чтобы мне приходилось делать это при перемещении рабочего пространства (изменении корня). - person Dennis; 12.08.2011
comment
Я не на 100% в этом вопросе, это просто часть того, что я делал несколько раз, когда менял свой корень. Однако то, что вы сказали в своем ответе, имеет смысл. Когда у меня появится свободное время (надеюсь, скоро), я создам рабочее пространство, чтобы протестировать его. - person Mike O'Connor; 12.08.2011
comment
Хорошо, спасибо за информационные главы. Я снова синхронизировался, но если мне это снова понадобится в будущем, я это проверю. Та. - person Dave Stewart; 13.08.2011
comment
Также стоит отметить, что вы не должны извлекать какие-либо файлы, пока вы это делаете, или вам нужно будет проделать некоторую дополнительную работу (p4 revert -k файлы и повторно открыть их для редактирования позже, или отложить список изменений и убрать его после этого). - person Nathan Reed; 12.02.2013
comment
Используя p4v 2011.1 / 392576, мне нужно было выполнить только шаги 2 и 3. - person foo64; 09.04.2013
comment
Команда командной строки p4 client повторно открывает спецификацию клиента для тех, кому нужно изменить root. - person Todd Partridge; 28.09.2017
comment
Этот ответ великолепен, за исключением самого первого предложения. Если вы знаете, с каким списком изменений вы синхронизировались в последний раз ... К счастью, я обнаружил, что можно ссылаться на список have другого рабочего пространства с помощью @ синтаксис: p4 flush file@other_workspace - person MarcH; 22.06.2018

ответ Майка почти правильный, за исключением того, что p4 sync -k не требуется при перемещении рабочего пространства (изменении корня). P4 не заботится о том, где находится корень, он только отслеживает файлы на вашем компьютере по имени рабочей области / клиента.

Если вы хотите изменить имя рабочего пространства (для чего вам потребуется создать новое рабочее пространство) и заполнить его файлами из уже синхронизированного рабочего пространства, тогда вам нужно будет запустить p4 sync -k, чтобы сервер знал, что в этом новом рабочем пространстве эти файлы находятся по адресу @changeset.

person Dennis    schedule 11.08.2011
comment
Я не уверен, что это правильно. Когда я переместил мою рабочую область, P4 определенно не распознал какие-либо файлы как часть системы управления версиями, пока я не запустил p4 sync -k. Возможно, это изменилось с тех пор, как был опубликован ответ? - person Nathan Reed; 12.02.2013

Если вы используете какой-либо клиент (например, P4V), вы можете отредактировать рабочее пространство и изменить корень на новый путь к рабочему пространству.

person tanjir    schedule 11.08.2011
comment
Если что-то не изменилось с P4V, простое изменение корня потребует от вас повторной синхронизации файлов. - person Mike O'Connor; 11.08.2011
comment
Кажется, что все изменилось. Я использую p4v 2011.1 / 392576, и все, что я сделал, это переименовал папку на моем жестком диске и изменил корень рабочей области в p4v. - person foo64; 09.04.2013