Подтвердить что ты не робот

Как установить свойства Subversion с помощью git -svn

Есть ли способ установить свойства subversion в репозитории git, который был создан git -svn?

В моем случае я хочу отредактировать версию svn:external, svn:ignore и svn:executable.

Однако единственный способ сделать это, похоже, связан с выпиской с клиентом subversion. Есть ли способ редактировать свойства svn без необходимости дважды проверять репозиторий (один раз для git и один раз с svn для свойств)?

4b9b3361

Ответ 1

git-svn не поддерживает свойства Subversion. Когда я сталкиваюсь с этой проблемой, я обычно получаю две проверки.

Это упоминается в документации git-svn в разделе BUGS:

Мы игнорируем все свойства SVN, кроме svn: executable. Любые необработанные свойства регистрируются на $GIT_DIR/svn/<refname>/unhandled.log

Ответ 2

Примечание: git 2.3.0 (февраль 2015 г.) поддерживает зачет с git svn.
См. commit 83c9433 Альфред Перлштейн (splbio):

git-svn: поддержка git-svn propset

Это изменение позволяет git-svn поддерживать настройку свойств subversion.

Это полезно для ручной настройки свойств при передаче на реверс subversion, который требует установки свойств, не требуя, чтобы ваш набор изменений отделял проверку subversion, чтобы установить реквизиты.

Существует нить, указывающая: код не поддерживает добавление реквизитов, если нет также изменений содержимого в файлах.
Это продемонстрировано в тестовой документации.

Итак, как показано в t/t9148-git-svn-propset.sh, теперь это работает:

git svn propset "$1" "$2" "$file" 
# like
git svn propset "svn:keywords" "FreeBSD=%H" "foo"

Ответ 4

Возможно, просто клонируйте ваш репозиторий SVN с помощью SmartGit. Он переводит svn: executable, svn: externals и svn: игнорировать исполняемые,.gitsvnextmodules и .gitignore. Таким образом, вы можете изменить их и нажать назад, что приведет к соответствующим изменениям свойств.

Если у вас есть доступ к вашему SVN-серверу, вы можете установить в него SubGit. Он преобразует svn: executable и svn: игнорировать на стороне сервера, предоставляя интерфейс Git в ваш репозиторий SVN.

Ответ 5

Вы также можете использовать svnmucc, если вы не хотите иметь полную проверку svn только для установки реквизита (мой пульт РЕПО действительно большой).

Здесь моя команда для добавления строки в svn: игнорировать, заменить URL, DIR и VALUE.

svnmucc -U URL propset svn:ignore "`git svn propget svn:ignore DIR; echo VALUE`" DIR