threads / discuss / 15206

git-svn dcommit gone wrong and git-fsck

Subject: git-svn dcommit gone wrong and git-fsck

## tl;dr

3 messages between Aug 26, 2008 and Aug 26, 2008.

replies: 2people: 2as markdown or json

Bruno Harbulot· Aug 26, 2008, 16:37 UTC · lore
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.
Björn Steinbrink· Aug 26, 2008, 17:36 UTC · re: Bruno Harbulot · lore

Re: git-svn dcommit gone wrong and git-fsck

On 2008.08.26 17:37:36 +0100, Bruno Harbulot wrote:
Show 11 quoted lines
> 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
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
Bruno Harbulot· Aug 26, 2008, 18:01 UTC · re: Björn Steinbrink · lore

Re: git-svn dcommit gone wrong and git-fsck

Björn Steinbrink wrote:
Show 26 quoted lines
> On 2008.08.26 17:37:36 +0100, Bruno Harbulot wrote:
>> 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
> 
> 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
> 
Thanks a lot! It works.
Best wishes,
Bruno.

← back to recent threads