Что делает -stdlayout в git svn clone?

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

Ответ 1

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

Чтобы git svn мог распознавать ветки и теги и основную ветку ( "trunk" ), вам нужно явно указать, где их найти, используя --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 man также доступны на Kernel.Org, и они обычно являются первым результатом поиска при поиске git-svn(1).

Ответ 2

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

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