У меня большая проблема с git-svn: мне нужно просто перенести мое git-репо на svn-сервер, поэтому я сделал следующее
svn mkdir --parents http://host/path/to/repo/{trunk,tags,branches} \
-m "Standard layout for $project"
git svn init -s http://host/path/to/repo/
git svn fetch
git rebase trunk master
git svn dcommit
Это сработало великолепно, и все на git и svn!
Теперь я получил сообщение, что моя ветка git master на 31 коммит позади источника / мастера, поэтому я сделал git pull.
Теперь я изменил некоторые вещи в своем репо (в основном это Java-проект Eclipse) и зафиксировал его. Теперь я хочу также нажать на репо SVN и сделал
git svn dcommit
но это не работает:
Committing to https://..../trunk ...
No changes
38b194cb2860b8bb73924cb05f9830dbdb70cf82~1 == 38b194cb2860b8bb73924cb05f9830dbdb70cf82
No changes between current HEAD and refs/remotes/trunk
Resetting to the latest refs/remotes/trunk
Unstaged changes after reset:
M Product/Abgabe.tex
Unable to extract revision information from commit daf483ad1333f3589386b87054f4c27fb7ff23cf~1
Что я сделал не так? Мастер теперь сбрасывается до коммита раньше, теперь мне нужно git checkout -- Abgabe.tex
и git pull
, чтобы получить правильную версию здесь ...
Edit: если я делаю git svn rebase
, я получаю для каждого коммита длинный список КОНФЛИКТОВ, поэтому я сделал git rebase --skip
до конца, а затем dcommted, это работало, но это, похоже, кровавый хак : /