Лучший способ перенести каталоги в SVN с историей - PullRequest
0 голосов
/ 26 марта 2011

У меня есть еженедельные резервные копии исходных каталогов, и я хочу перейти на SVN.

При переходе в SVN я хочу сохранить эволюцию исходных каталогов для создания историй SVN дерева исходных текстов.
Позвольте мне объяснить это на примере:

my_project_2011_02_01.zip
my_project_2011_02_13.zip
my_project_2011_02_18.zip
my_project_2011_02_23.zip
...

моя задача:

  • распакуйте первую версию my_project_2011_02_01.zip и добавьте ее в SVN в my_project.
  • Теперь я хочу извлечь my_project_2011_02_13.zip и добавить новые файлы, перезаписать измененные файлы и удалить файлы, которых больше нет в дереве исходников.

Я использую svn-клиент tortoisesvn.

Какой путь является лучшим / наиболее удобным способом достижения этого?

Ответы [ 2 ]

2 голосов
/ 26 марта 2011

Вы можете написать пакетный скрипт, который в основном выполняет следующие шаги для каждого zip-файла:

  1. svn rm * (в папке проекта)
  2. извлечение zip и копирование в папку проекта
  3. svn add --force.(в папке проекта)
  4. svn commit.-m "версия снимка проекта" (в папке проекта)
0 голосов
/ 26 марта 2011

Я подозреваю, что единственный способ - начать с проверки архива за первую неделю. Затем перезапишите локальные файлы с архивом второй недели и отметьте эти изменения. Повторяйте до тех пор, пока все архивы не будут проверены.

Основное неудобство, связанное с этим, помимо времени, которое это займет, заключается в том, что svn часто не может автоматически разрешать конфликты. В вашем случае вы просто выбрали бы последнюю версию, чтобы выиграть, но это, вероятно, добавит больше времени к процессу.

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

Редактировать: для обработки удалений вам необходимо сначала удалить файлы на жестком диске, а затем разархивировать следующий архив. Раздражает то, что вам нужно хранить папки .svn, чтобы svn могла отслеживать, какие файлы отличаются, а какие были добавлены или удалены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...