Как я могу перемещать папки между Perforce "депо"
После случайного удаления Svn репо я захотел попробовать что-то еще, и я выбрал Perforce в качестве моего текущего полигона для тестирования инструментов управления версиями. Все идет отлично, и мне нравится то, что я вижу в Perforce.
Здесь моя проблема. Я отправил свои файлы на свой сервер Perforce, а затем использовал мои клиентские ПК для получения этих проектов с главного сервера Perforce. Теперь все прекрасно работает, за исключением того, что я понял, что в Perforce можно использовать более одного "депо", и для меня имеет смысл, что я должен просто перенести некоторые из этих проектов в другое депо для организации, и, возможно, по соображениям безопасности в случае.
Я искал некоторые ответы, и я нашел пару из них, однако я не могу дать какие-либо ожидаемые результаты, поэтому я ищу здесь совет специалиста.
Одна из страниц, которые я попробовал, является этой
http://kb.perforce.com/article/24/renaming-depot-directories
Кажется, предлагает решение, однако я не смог переместить файлы из одного хранилища в другое хранилище, которое находится на том же сервере процесса. Примеры на странице отлично работают для перемещения какой-либо папки в папку в том же хранилище. Пример демонстрирует перемещение в другую папку в том же хранилище.
Поэтому я ищу разумный и безопасный способ переместить мои основные папки хранилища Perforce в другое хранилище, расположенное на том же сервере, и, естественно, без потери работы.
Вот чего я хочу
-- Текущий
//Depot-A
-->folder1
-->folder2
-- Я хочу
//Depot-A
-->folder1
//Depot-B
-->folder2
Спасибо
3 ответа
Перемещение файлов между различными хранилищами ничем не отличается от перемещения файлов между папками в одном и том же хранилище, за исключением того, что целевое хранилище уже должно существовать. Используя ваш пример и предполагая, что "Depot-B" еще не существует, чтобы переместить "folder2" из "Depot-A" в "Depot-B", вы бы просто сделали это:
p4 depot Depot-B
p4 edit //Depot-A/folder2/...
p4 move //Depot-A/folder2/... //Depot-B/folder2/...
p4 submit
Вот что я хотел бы сделать (в двух словах): если вы откроете сеанс P4V и выберете вкладку представленных списков изменений, вы можете отфильтровать этот набор, чтобы показать только изменения, относящиеся к разделу, который вы хотите переместить. Это набор изменений, который вы будете дублировать на новом депо (или даже на сервере), который хотите заполнить. Идея состоит в том, что вы распутываете архивные файлы на одной стороне и заводите их одинаковым образом в место назначения. Таким образом, процесс заключается в простой (1) синхронизации с первым списком изменений, (2) интеграции этого набора с новым местоположением, (3) проверке этого набора и (4) переходе к следующему списку изменений. Очевидно, что это может быть записано в сценарии. В настоящее время я работаю над сценарием на python, но подойдет любой достойный язык сценариев с библиотеками функций Perforce. Пара сложностей: списки изменений будут последовательно такими же, как и оригиналы, но оригинальное время не будет - они будут "текущими". И, конечно, если есть метки, вам нужно отобразить это в новом месте, если вы хотите, чтобы они были сохранены.
Я не думаю, что дополнительные склады увеличивают безопасность. Сценарии с несколькими депо в основном возникают при очень большой установке.
Основным преимуществом дополнительных хранилищ является то, что вы можете получить больший контроль над планировкой дискового пространства вашего сервера, например, если ваш репозиторий слишком велик для размещения в одной файловой системе и вам необходимо расширить его для использования нескольких файловых систем. Вторичная причина для создания дополнительных складов заключается в том, что у вас должны быть склады специализированных типов; например, если вы хотите создать хранилище Streams для использования функции Perforce Streams.
Для сценария, подобного тому, который вы описываете, наличие всех ваших файлов в хранилище A, вероятно, хорошо в обозримом будущем.