2016-08-08 2 views
0

Я разрабатываю проект без SVN некоторое время, и теперь я хочу использовать SVN. Я делаю много изменений в этом проекте как ряд пронумерованных файлов tar.bz2 (tarballs). Я хотел бы импортировать эти много tarball в SVN-репозиторий и держать номера версий в синхронизации (так что tarball NNN становится репозиторием ревизии NNN). Существует много таких версий (несколько сотен), поэтому все это вручную не является вариантом. Я буду автоматизировать это в bash и/или Python. В последовательности версий много пробелов (около 500 версий достигают почти 700). Любые предложения о том, как это сделать (функции SVN)? Когда я закончу работу, хранилище должно выглядеть так, как будто я все время использую SVN. Только этот один проект будет в этом хранилище.Импорт нескольких изменений в синхронизацию в SVN

ответ

0

Короче говоря, вы не можете сделать это легко, потому что:

  • Revision-номера в SVN-репозиторий являются последовательная серия натуральных чисел без пробелов (вы не можете совершить r500 и R700 сразу после него)
  • для полезной истории (который отслеживает не только состояния, но и изменений), вы будете иметь большие головную боль (тм) для обнаружения и хранения добавления | удаления | перемещения файлов в туалете

Если вы найдете любой автоматизирован решение ч.2 (я не могу видеть его в чистом Subversion) с ч.1 (получение репо с пробелами) вы можете попробовать

  • Commit репо всех архивов «как есть», позже dunp всего репозитория дамп-файл, редактировать (вручную ?!) ревизионные числа в удобном для восприятия человека сброса и сброс нагрузки в новую свежие репо

или

  • Создать пробелы на этапе comit: совершить что-нибудь, не связанное с какой-либо специальной частью дерева для ревизий, которые не должны существовать в конечном состоянии, сбрасывать репо с исключением crap-tree (svnadmin dump + svndumpfilter или svnrdump) и восстанавливать дамп в новый свежий репо

PS - Я порекомендую не обманывать и не обманывать (все описанные трюки можно обнажить относительно легко и быстро; и не подвергается воздействию, но достаточно подозрений в игре с фолом будет достаточно): зафиксировать архивы как есть, использовать имена файлов tarballs как пользовательские свойства ревизии для навигации и истории