Как поместить каталог из архива .tar в родительскую рабочую копию sparsed sparsed checkout - PullRequest
2 голосов
/ 20 июля 2010

Предположим, у вас есть хранилище 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

Это работает, но

  1. Нужно передавать много данных по сети
  2. Больше загружать сервер subverion
  3. Занимает очень много времени

Предположим, я уже проверил ^ / багажник / огромный и сделал из него .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, что этот "неизвестный" каталог теперь является "не разреженным" извлечением реальной вещи?

...