Есть репозитарий, раздается через apache + mod_dav + subversion. За год размер составил 250GB. Хотел с нового года начать новый. Для этого создал пустой репозитарий и попытался залить инкрементальные бекапы с 23 декабря по 1 января.При попытке залить получаю
# svnadmin load /svn/new_repo_name < ./148341-148352.dump
<<< Started new transaction, based on original revision 148341
svnadmin: File not found: transaction '1-5', path 'Projects/Project1/markup/cranham-1.1.html'
* editing path : Projects/Project1/markup/cranham-1.1.html ...В итоге ни один из дампов не залился. Как быть в такой ситуации? Создавать всю иерархию папок в ручную просто не реально. Помсмотрел документацию на svnadmin ничего полезного не нашел. Может кто сталкивался
>Есть репозитарий, раздается через apache + mod_dav + subversion. За год размер
>составил 250GB. Хотел с нового года начать новый. Для этого создалпопробуйте сделать полный дамп и залить его одним куском. вдруг поможет.
>>Есть репозитарий, раздается через apache + mod_dav + subversion. За год размер
>>составил 250GB. Хотел с нового года начать новый. Для этого создал
>
>попробуйте сделать полный дамп и залить его одним куском. вдруг поможет.Какой тогда в этом смысл? Заливать дамп в 250 Гб он будет ОЧЕНЬ долго. Ведь основная задача уменьшить размер дампа, чтобы в случае сбоя быстро и легко можно было восстановить репозитарий
>[оверквотинг удален]
>При попытке залить получаю
>
># svnadmin load /svn/new_repo_name < ./148341-148352.dump
><<< Started new transaction, based on original revision 148341
>svnadmin: File not found: transaction '1-5', path 'Projects/Project1/markup/cranham-1.1.html'
> * editing path : Projects/Project1/markup/cranham-1.1.html ...
>
>В итоге ни один из дампов не залился. Как быть в такой
>ситуации? Создавать всю иерархию папок в ручную просто не реально. Помсмотрел
>документацию на svnadmin ничего полезного не нашел. Может кто сталкивалсяИнкрементные бэкап надо заливать последовательно начиная с первого не инкрементного.
>[оверквотинг удален]
>># svnadmin load /svn/new_repo_name < ./148341-148352.dump
>><<< Started new transaction, based on original revision 148341
>>svnadmin: File not found: transaction '1-5', path 'Projects/Project1/markup/cranham-1.1.html'
>> * editing path : Projects/Project1/markup/cranham-1.1.html ...
>>
>>В итоге ни один из дампов не залился. Как быть в такой
>>ситуации? Создавать всю иерархию папок в ручную просто не реально. Помсмотрел
>>документацию на svnadmin ничего полезного не нашел. Может кто сталкивался
>
>Инкрементные бэкап надо заливать последовательно начиная с первого не инкрементного.А нельзя ли сделать как бы комит данных из дамп файла?
Я так понял основная проблема в том, что отсутствуют соответствующие папки в репозитарии
>[оверквотинг удален]
>>>В итоге ни один из дампов не залился. Как быть в такой
>>>ситуации? Создавать всю иерархию папок в ручную просто не реально. Помсмотрел
>>>документацию на svnadmin ничего полезного не нашел. Может кто сталкивался
>>
>>Инкрементные бэкап надо заливать последовательно начиная с первого не инкрементного.
>
>А нельзя ли сделать как бы комит данных из дамп файла?
>
>Я так понял основная проблема в том, что отсутствуют соответствующие папки в
>репозитарииПравильно, в том инкриментном бекапе что вы заливали их нету, они есть наверняка в предыдущих, собственно поэтому их и нужно последовательно заливать иначе результат непредсказуем.
Если хотите место экономить, попробуйте сделать два не инкрементных дампа один большой по ревизиям например до 1 января, второй все остальные по настоящее время. И восстановить только второй. Первый оставить для "на всякий случай".
>Правильно, в том инкриментном бекапе что вы заливали их нету, они есть
>наверняка в предыдущих, собственно поэтому их и нужно последовательно заливать иначе
>результат непредсказуем.
>Если хотите место экономить, попробуйте сделать два не инкрементных дампа один большой
> по ревизиям например до 1 января, второй все остальные по
>настоящее время. И восстановить только второй. Первый оставить для "на
>всякий случай".А разве можно делать дамп по ревизиям не инкрементный?
>>Правильно, в том инкриментном бекапе что вы заливали их нету, они есть
>>наверняка в предыдущих, собственно поэтому их и нужно последовательно заливать иначе
>>результат непредсказуем.
>>Если хотите место экономить, попробуйте сделать два не инкрементных дампа один большой
>> по ревизиям например до 1 января, второй все остальные по
>>настоящее время. И восстановить только второй. Первый оставить для "на
>>всякий случай".
>
>А разве можно делать дамп по ревизиям не инкрементный?Опция -r у svnadmin. Что то типа svnadmin dump -r $OLDREV:$NEWREV. Точно не помню...
>>Правильно, в том инкриментном бекапе что вы заливали их нету, они есть
>>наверняка в предыдущих, собственно поэтому их и нужно последовательно заливать иначе
>>результат непредсказуем.
>>Если хотите место экономить, попробуйте сделать два не инкрементных дампа один большой
>> по ревизиям например до 1 января, второй все остальные по
>>настоящее время. И восстановить только второй. Первый оставить для "на
>>всякий случай".
>
>А разве можно делать дамп по ревизиям не инкрементный?А вчём проблема. Наприме есть svn c 3333 ревизиями нам нужно например только последниие 333 и первые 3000 на всякий случай.
делаем
1. svnadmin dump $OLDREP -r 0:2999 > $FILE1.dump
2. svnadmin dump $OLDREP -r 3000:3333 > $FILE2.dump
3. svnadmin load $NEWREP < $FILE2.dumpP.S. В новом репозитарии нумерация будет пересчитана и начнётся снова с 1. И потом подлить из дампа $FILE1.dump в новый репозитарий будет уже проблемма.
>А вчём проблема. Наприме есть svn c 3333 ревизиями нам нужно например
>только последниие 333 и первые 3000 на всякий случай.
>делаем
>1. svnadmin dump $OLDREP -r 0:2999 > $FILE1.dump
>2. svnadmin dump $OLDREP -r 3000:3333 > $FILE2.dump
>3. svnadmin load $NEWREP < $FILE2.dump
>
>P.S. В новом репозитарии нумерация будет пересчитана и начнётся снова с 1.
>И потом подлить из дампа $FILE1.dump в новый репозитарий будет уже
>проблемма.точно, убрал --incremental и все заработало.
>точно, убрал --incremental и все заработало.поспешил с выводами.
# svnadmin dump $OLDREP -r 100:101 > test.dump
при этом test.dump весит около 10GB. А дамп 10000 ревизий (~ за две недели) вообще занимает 400GB, хотя весь репозитарий за 2009 год всего 250 Гб.
Я что то делаю не так?
>[оверквотинг удален]
>
>поспешил с выводами.
>
># svnadmin dump $OLDREP -r 100:101 > test.dump
>
>при этом test.dump весит около 10GB. А дамп 10000 ревизий (~ за
>две недели) вообще занимает 400GB, хотя весь репозитарий за 2009 год
>всего 250 Гб.
>
>Я что то делаю не так?Попробуйте добавить --deltas.
svnadmin dump $OLDREP --deltas -r 100:101 > test.dump