Как поместить каталог из архива.tar в родительскую рабочую копию sparsed sparsed checkout
Предположим, у вас есть хранилище Subversion с каталогом / trunk / огромный, который огромен (тысячи файлов> 1G) и не очень часто меняется.
Вы проверяете это редко, избегая / багажник / огромный, например
svn co --depth immediates ^/trunk trunk
for f in trunk/*; do
if [ "$f" != "trunk/huge" ];
then
svn up --set-depth infinity $f;
fi;
done
Позднее вам внезапно понадобятся файлы в ^/trunk/ огромные.
Стандартный способ получить это было бы изменить его "глубину"
svn up --set-depth invinity trunk/huge
Это работает, но
- Должен передавать много данных по сети
- Положите больше нагрузки на сервер subverion
- Занимает очень много времени
Предположим, что я уже проверил ^/trunk/ огромный и сделал.tar.gz из этого. Теперь я хочу поместить этот.tar.gz в мою локальную рабочую копию. Если я просто положу его туда, subverion будет считать его "неизвестным", например:
svn st
? trunk/huge
Если я попытаюсь установить глубину в бесконечность, то будет обновлен багажник / огромный, но svn все равно считает его неизвестным.
svn up --set-depth infinity trunk/huge
At revision 8655.
svn st
? trunk/huge
Как мне сообщить Subversion, что этот "неизвестный" каталог теперь является "не разреженным" извлечением реальной вещи?