Вот ситуация: у нас есть огромный svn-репозиторий, который является «основным» (не может изменить это, потому что он на самом деле «принадлежит» другой компании). Мы бы предпочли работать локально в git, чтобы получить гибкость и скорость ветвления, которые предлагает git. Но мы не хотим клонировать весь репозиторий.
Структура хранилища выглядит примерно так:
/trunk/project1/*
/project2/*
/branches/branch/project1/*
/project2/*
/tags/tag1/tag1a/project1/*
/tag1b/project1/*
/tag2/tag2a/project2/*
Меня интересует только проект1, но мне бы хотелось иметь как ствол, так и ветви (теги не так важны, но было бы неплохо их тоже получить).
Я могу получить одну ветку, клонированную с этими настройками svn-remote:
[svn-remote "svn"]
url = https://svn.company.com/svn/branches/branch1/project1
но я действительно хочу получить структуру ветвления тоже. Я думал об использовании игнорируемых путей:
[svn-remote "svn"]
ignore-paths=^project2|^project3|...
но мне придется обновлять ignore-paths каждый раз, когда добавляется новый каталог "project" верхнего уровня, который на самом деле не является устойчивым.
Во-вторых, нам действительно нужны только теги в / tags / tag1 (если нам вообще нужны теги). Будем благодарны за любые мысли о том, как это сделать.