threads / discuss / 16471

git svn dcommit crashed -- how do I resume?

Subject: git svn dcommit crashed -- how do I resume?

## tl;dr

2 messages between Nov 26, 2008 and Nov 26, 2008.

replies: 1people: 2as markdown or json

Jens Neuhalfen· Nov 26, 2008, 08:22 UTC · lore
Hi,

I am using git as a frontend to my SVN-Repository. When I tried to "git svn dcommit" several changes from my local git-repository, git crashed (SEGFAULT, AFAIR).

Now I have a working copy (master branch) that points "somewhere in the past" (at least my files are old). I have a git-svn remote branch that points to the same SHA1.

$ git branch -a
   dokument-zusammenfuehren
* master
   git-svn
I cannot dcommit
$ git svn dcommit
Cannot dcommit with a dirty index.  Commit your changes first, or  
stash them with `git stash'.
  at /Users/jens/libexec/git-core/git-svn line 415
And, indeed, the index is dirty.

I am confused (an slightly panicked), because my old commits seem to be "gone", my WC does not contain the most recent files and there seems to be no "backup-branch" with my old HEAD.

Any idea, how I might get my data back and how to 'resume' the dead dcommit? Google did not turn up anything usefull, unfortunally.

BTW: I am currently using git version 1.6.0.rc0.24.gf45e0.dirty.
Jens
Teemu Likonen· Nov 26, 2008, 09:42 UTC · re: Jens Neuhalfen · lore

Re: git svn dcommit crashed -- how do I resume?

Jens Neuhalfen (2008-11-26 09:22 +0100) wrote:
> I am using git as a frontend to my SVN-Repository. When I tried to
> "git svn dcommit" several changes from my local git-repository, git
> crashed (SEGFAULT, AFAIR).
> I am confused (an slightly panicked), because my old commits seem to
> be "gone", my WC does not contain the most recent files and there
> seems to be no "backup-branch" with my old HEAD.

I don't know why the the dcommit crashed but I'm certain that you can find your previous commits through the reflog. Try (one of) these commands:

    git log --walk-reflogs [branchname]
    git log --walk-reflogs HEAD

They will show a list of commits about where [branchname] or HEAD has been previously in _your_ repository. If/when you find the correct commit (where you think the branch's head should be) copy its SHA1 and create a new branch from it (git branch new-branch [SHA1]) - or just reset the broken branch to that commit (git reset --hard [SHA1]).

← back to recent threads