Git svn dcommit, interruption recovery
As usual, I was doing all my work in my local copy(Git) of a SVN repository, when everything was stable and pretty, I started pushing everything to the central server. But in the middle of the operation the network was shutdown, some of my commits couldn't be pushed and my working tree was a mess!!.
"Ok" - I said - "I just have to point to HEAD again... which was the commit number?". I couldn't remember the commit number(is not so easy to do, admit it) but that's not necessary, right?, just do a 'git log --all' and you will see your commits. But NOOOOOOOOO, all commits were up to the last SVN dcommit entry!!!.
e.g.
* -> 'super commit'
|
* -> 'some other commit'
|
[*]-> 'where SVN commit crashed'
|
"Oh shit, oh dear Lord!!, don't worry, Git tracks content, can't lose my commits" - I said. But nevertheless all options I've tried, my commits seem to be lost.
After a few minutes reading Git's manual, I found this:
"Ok" - I said - "I just have to point to HEAD again... which was the commit number?". I couldn't remember the commit number(is not so easy to do, admit it) but that's not necessary, right?, just do a 'git log --all' and you will see your commits. But NOOOOOOOOO, all commits were up to the last SVN dcommit entry!!!.
e.g.
* -> 'super commit'
|
* -> 'some other commit'
|
[*]-> 'where SVN commit crashed'
|
"Oh shit, oh dear Lord!!, don't worry, Git tracks content, can't lose my commits" - I said. But nevertheless all options I've tried, my commits seem to be lost.
After a few minutes reading Git's manual, I found this:
$> git rev-list --all --pretty=onelineAnd.. YES!! all my commits are there, so, to make the long story short:
$> git checkout awfulCommitNumber
$> git svn rebase
$> git svn dcommit