threads / bug / 8596

[BUG] "git checkout branch" on full disk doesn't recover from errors

Subject: [BUG] "git checkout branch" on full disk doesn't recover from errors

## tl;dr

One message between Jun 13, 2007 and Jun 13, 2007.

replies: 0people: 1as markdown or json

Jakub Narebski· Jun 13, 2007, 23:33 UTC · lore

I have accidentally (errorneous program running in parallel) run "git checkout gitweb/web" (where 'gitweb/web' is a branch) on a full disk. Git correctly notices error, but doesn't recover fully from it.

  $ git checkout gitweb/web
  fatal: unable to write new index file

It would be nice if git has shown also the error message from filesystem (from OS), for example if it was full disk, read-only filesystem (for example wrong mount options, or running from CD), or incorrect permissions.

  $ <free disk space>
  $ git checkout gitweb/web
  fatal: Entry '.gitignore' not uptodate. Cannot merge.

The '.gitignore' was last file changed in last commit on the page I was on (namely 'master'). It looks like git didn't recover fully from attempted branch change. "git diff" and "git status" shows many modified files, not only '.gitignore'.

What is a bit strange that mixed reset ("git reset HEAD") is not enough
  $ git reset HEAD
  <multitude of "needs update" messages>

Fortunately, it is easy to recover using "git reset --hard HEAD", although beginner user could have some problems with this.

-- 
Jakub Narebski
Poland

← back to recent threads