Есть ли способ "git svn dcommit" из клонированного репозитория git-svn: - PullRequest
8 голосов
/ 09 апреля 2009

Есть ли способ "git svn dcommit" из клонированного репозитория git-svn:

У меня есть несколько веток в моем svn, иногда это очень маленькая ветка, и приятно иметь ее в одной директории, но иногда эти ветки становятся большими, и все это удобно перемещать в другую папку.

Но когда я делаю git-клон из этого локального репозитория в другое место на моем диске, git-svn теряет всю свою информацию, и я не знаю, как подключить его обратно. Полагаю, я мог бы просто сделать копию папки, но делать это с помощью git было бы лучше.

Ответы [ 4 ]

13 голосов
/ 10 апреля 2009

После того как вы клонировали репо git-svn, вы можете получить необходимую информацию, запустив git svn init с теми же параметрами, что и при создании исходного репо. В соответствии с инструкциями WebKit git-svn хитрость заключается в том, чтобы использовать update-ref, чтобы перейти в состояние, в котором вы можете быстро перейти к вершине дерева SVN:

git svn init -T trunk http://svn.webkit.org/repository/webkit
git update-ref refs/remotes/trunk origin/master

Точные параметры, передаваемые на git svn init, зависят от настроек вашего репозитория Subversion и git-svn клона.

3 голосов
/ 09 апреля 2009

К сожалению, нет, поскольку git-clone не клонирует информацию git-svn при выполнении клонирования. Вы можете прочитать больше о ситуации здесь .

1 голос
/ 07 октября 2009

Возможно, но вы должны настроить все по-другому. Вот как мы это делаем на numpy - репозиторий был создан с помощью git-svn-automirror

Вы можете посмотреть на функцию _git_update_mirror, чтобы увидеть, как это сделать вручную

0 голосов
/ 10 апреля 2009

Информация SVN - это не более чем несколько бит информации в файле .git/config, верно? Вы могли бы просто сжимать их вручную и хорошо идти.

...