git-svn dcommit gone wrong and git-fsck
Hello,
I had 11 consecutive commits in my local git repository that I was trying to commit to an SVN repository, using "git-svn dcommit". The first 7 worked fine, as usual. However, when sending the 8th, I got a "Bus error" (on OSX -- I'm not sure what the actual cause was).
A further "git-svn dcommit" produces this error.
Cannot dcommit with a dirty index. Commit your changes first, or stash them with `git stash'.
at /opt/local/bin/git-svn line 406
In addition, "gitk --all" no longer shows commits 8->11, but the current files seem to correspond to the last local commit. I've run git-fsck which shows 3 dangling trees and about a dozen dangling blobs.
Apologies if it's a FAQ, but I can't seem to find much documentation on how this can be fixed (if it can). Is there a way to recover the missing commits and re-attach them back on the branch? (I had pushed that branch up to the 10th commit into another repository, which could help.)
Thank you,
Bruno.
Quoted 11 lines · Bruno Harbulot
Hello,
I had 11 consecutive commits in my local git repository that I was trying to commit to an SVN repository, using "git-svn dcommit". The first 7 worked fine, as usual. However, when sending the 8th, I got a "Bus error" (on OSX -- I'm not sure what the actual cause was).
A further "git-svn dcommit" produces this error.
Cannot dcommit with a dirty index. Commit your changes first, or stash them with `git stash'.
at/opt/local/bin/git-svnline 406
1. git checkout $your_branch
2. Look up the latest commit you had on your branch using "git reflog" or "git log -g"
3. git reset --hard $that_commit
4. git svn rebase
5. check that your history is sane
6. git svn dcommit
That should do.
Björn
Quoted 14 lines · Björn Steinbrink
Quoted 7 lines · Bruno Harbulot
Hello,
I had 11 consecutive commits in my local git repository that I was trying to commit to an SVN repository, using "git-svn dcommit". The first 7 worked fine, as usual. However, when sending the 8th, I got a "Bus error" (on OSX -- I'm not sure what the actual cause was).
A further "git-svn dcommit" produces this error.
Cannot dcommit with a dirty index. Commit your changes first, or stash them with `git stash'.
at/opt/local/bin/git-svnline 4061. git checkout $your_branch
2. Look up the latest commit you had on your branch using "git reflog" or "git log -g"
Quoted 8 lines
3. git reset --hard $that_commit
4. git svn rebase
5. check that your history is sane
6. git svn dcommit
Thanks a lot! It works.
Best wishes,
Bruno.