Как экспортировать часть хранилища SVN с зависимостями? - PullRequest
2 голосов
/ 03 ноября 2008

Я пытаюсь перенести часть SVN-репозитория, используя svnadmin dump.

Предоставленный инструмент svndumpfilter не управляет копированием / перемещением / переименованием зависимостей из каталогов, не включенных в экспорт.

Есть ли инструмент, который может управлять этими зависимостями?

Ответы [ 3 ]

3 голосов
/ 04 ноября 2008

Я нашел сценарий Python Саймона Тэтхэма под названием svndumpfilter2 , который пытается справиться с простыми зависимостями (хотя я нашел некоторые ограничения).

Вы также можете проверить статью о его переходе на Subversion и мотивации для сценария.

0 голосов
/ 03 ноября 2008

Вы не можете избавиться от этой проблемы. Если вы скопировали каталог / файл, вы должны включить оба (источник и место назначения) в svndumpfilter.

Однако вы можете сделать несколько трюков:

Если вы выгружаете хранилище не из ревизии 0, а говорите, например, из ревизии 100 вы получите новый репозиторий с ревизией 1-100. Однако в вашем конечном хранилище все файлы / папки в редакции 1 являются исходным хранилищем в редакции 100. Таким образом, вы можете избавиться от версионных данных без потери HEAD-Revision.

Вы можете попробовать сбросить / загрузить исходный репозиторий до первой копии в "плоский" репозиторий, а затем добавить в него оставшиеся дампы. Таким образом, вы можете пропустить хлопотную ревизию с копией, так как ваши файлы уже находятся в подходящей (целевой) директории.

0 голосов
/ 03 ноября 2008

Под зависимостями вы подразумеваете те, которые определены свойством svn: external?

Если да, я думаю, что вы должны перейти к svndumpfilter и пути ссылки в свойстве. Например, если ваш проект находится в http://host/project, а свойство svn: external установлено в http://host/dependencies, вы можете сделать что-то вроде

svndumpfilter include http://host/project http://host/dependencies < total.dump > project.dump
...