Как экспортировать часть хранилища SVN с зависимостями?

StackOverflow https://stackoverflow.com/questions/258473

  •  06-07-2019
  •  | 
  •  

Вопрос

Я пытаюсь перенести часть репозитория SVN с помощью svnadmin dump .

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

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

Это было полезно?

Решение

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

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

Другие советы

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top