Предположим, у вас есть хранилище subversion с каталогом / trunk / огромный, огромным (тысячи файлов> 1 ГБ) и меняющимся не очень часто.
Вы проверяете его, редко избегая / trunk / огромныйНапример,
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
- Занимает очень много времени
Предположим, я уже проверил ^ / багажник / огромный и сделал из него .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, что этот "неизвестный" каталог теперь является "не разреженным" извлечением реальной вещи?