git svn dcommit не находит изменений и сбрасывает голову - PullRequest
6 голосов
/ 14 октября 2011

У меня большая проблема с 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, это работало, но это, похоже, кровавый хак : /

1 Ответ

7 голосов
/ 15 октября 2011

Я думаю, что вам не хватает в вашем рабочем процессе git svn rebase http://flavio.castelli.name/2007/09/04/howto_use_git_with_svn/

...