ограничивая git svn ветками - PullRequest
5 голосов
/ 11 февраля 2011

Используя git-svn, довольно красиво использовать мой локальный git в качестве svn-клиента.

К сожалению, кажется невозможным ограничить использование git svn некоторыми ветвями?

got One '*' is needed in glob: 'branches/v10'

при настройке двух branches строк в gitconfig с фиксированными путями ветвления

url = https://example.com/svn/reps/test
fetch = trunk:refs/remotes/trunk
branches = branches/v10:refs/remotes/v10
branches = branches/v09:refs/remotes/v09

Есть ли способ обойти БЕЗ использования различных пультов SVN (что приводит к потере индексавверх, потому что точки ветвления - это не просто «патчи / копии» из ствола, и вся история «стволов» будет возвращаться снова; (


РЕДАКТИРОВАТЬ: Чтобы прояснить, что я намереваюсь: существует огромный репозиторий SVN с n ветвями. В SVN я извлечу только две ветви в двух разных рабочих пространствах, для которых мне нужно работать. В Git аспект DVCS будет «клонировать»весь репозиторий SVN, включая ВСЕ сведения о ВСЕХ ветвях SVN (подумайте о репозитории с> 50 000 наборов изменений). Я намеревался сохранить как можно меньше использования диска на моей локальной машине. Поэтому я подумал о настройке gitтолько для двух конкретных веток мне нужно (v10 и v09).Так что у меня все еще есть отличные возможности слияния в этом git-репозитории, но мне не нужно клонировать все, что мне не нужно (и никогда не понадобится).Проблема, связанная с «использованием диска», заключается в том, что клонирование полного репозитория SVN занимает очень, очень ... (я сказал очень) долго!


1 Ответ

14 голосов
/ 08 августа 2011

Решение этого в руководстве.В конце svn manpage был найден следующий комментарий:

It is also possible to fetch a subset of branches or tags by using a comma-separated list of names within braces. For example:
[svn-remote "huge-project"]
        url = http://server.org/svn
        fetch = trunk/src:refs/remotes/trunk
        branches = branches/{red,green}/src:refs/remotes/branches/*
        tags = tags/{1.0,2.0}/src:refs/remotes/tags/*
...