Что делает --stdlayout в git svn clone? - PullRequest
18 голосов
/ 19 марта 2011

Я только что заметил этот вопрос о восстановлении после клона, выполненного без --stdlayout. Я не нашел документацию этого флага - что он делает?

Ответы [ 2 ]

38 голосов
/ 19 марта 2011

Subversion не имеет понятия branch или tag .Вместо этого они обычно моделируются простым копированием содержимого репозитория в каталог.

Чтобы git svn мог распознавать ветви и теги и основную ветвь ("ствол"), у вас естьявно указать ему, где их найти, используя опции --tags (или -t), --branches (или -b) и --trunk (или -T).

Однако,многие хранилища Subversion следуют стандартному соглашению, изложенному в книге Subversion, --trunk=/trunk --branches=/branches --tags=/tags.--stdlayout (или -s) кодирует это соглашение, так что вам не нужно передавать одни и те же аргументы каждый раз, когда вы клонируете хранилище Subversion.

Эту информацию вы можете найти в руководстве git-svn(1)страница, к которой вы можете получить доступ под Unix с помощью man git-svn и независимо от операционной системы через встроенную справочную систему Git с git help svn. Все страницы руководства Git также доступны в Kernel.Org, и они обычно являются первым результатом поиска при поиске git-svn(1).

13 голосов
/ 19 марта 2011

--stdlayout (-s) сообщает git-svn, что папки в /branches должны быть импортированы как ветви, а папки в /tags являются снимками состояния проекта и должны быть импортированы как теги.Основная ветвь будет установлена ​​на /trunk.

Это эквивалентно --trunk=trunk --tags=tags --branches=branches

...