совершить в SVN unstages последний коммит? - PullRequest
1 голос
/ 24 августа 2011

Сегодня я столкнулся со странной проблемой, когда "dcommitting" моего главного HEAD в хранилище кода Google SVN.Ниже выписка из того, что я сделал.Я бы почти сказал, что у меня есть столкновение с uuid, но я считаю, что это маловероятно.Я становлюсь все более опытным с git, но иногда я все еще озадачен ...

Некоторые изменения в моей ветке презентации ...

jerry [~/dev/myproject]$git checkout master
Switched to branch 'master'
jerry [~/dev/myproject]$git merge presentation
Updating c5e5816..f5a376c
Fast-forward
 js/iPath.js        |    5 +----
 presentation/paper.html |    6 ++++--
 2 files changed, 5 insertions(+), 6 deletions(-)

Изменения теперь в master

jerry [~/dev/myproject]$git status
# On branch master
# Untracked files:
#   presentation/.#paper.html
nothing added to commit but untracked files present (use "git add" to track)

Теперь я обращаюсь к svn.

jerry [~/dev/myproject]$git svn fetch
jerry [~/dev/myproject]$git svn dcommit
Committing to https://myproject.googlecode.com/svn/trunk ...
No changes
8e67cdc7e8bad816e402c1b9c72b5e84c492e907~1 == 8e67cdc7e8bad816e402c1b9c72b5e84c492e907
No changes between current HEAD and refs/remotes/trunk
Resetting to the latest refs/remotes/trunk
Unstaged changes after reset:
M   js/iPath.js
M   presentation/paper.html
Unable to extract revision information  from commit f5a376ca4a10a4807abbbea131b94b828ee88269~1

Ствол svn не изменен, а мой последний чекен (объединение из презентации) неизменен:

jerry [~/dev/project]$git status
# On branch master
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   modified:   js/iPath.js
#   modified:   presentation/paper.html
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   presentation/.#paper.html

Последний коммит также удаляется из журнала git.Что происходит?

1 Ответ

2 голосов
/ 24 августа 2011

вы не можете dcommit "git-merges", потому что subversion не имеет той же концепции слияний, что и git (и любые другие dvcs: parent tracking). последние версии пытаются эмулировать его с помощью свойства svn:merge-info, но это не то же самое.

если вы хотите dcommit ваша ветка разработки изменится на subversion, вы должны сначала перебазировать их на master:

git rebase master dev

тогда вы сможете dcommit.

...