git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Git rebase -i failing on cygwin -- git checkout-index says File Exists

From
Ludvig Strigeus <strigeus@gmail.com>
Date
Jan 20, 2009, 22:20 UTC
Message-ID
<4285cd450901201420l8929dci25688dc9723c917a@mail.gmail.com>
In-Reply-To
<alpine.DEB.1.00.0901202212470.3586@pacific.mpi-cbg.de>
Hi!

On Tue, Jan 20, 2009 at 10:16 PM, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:

Show 5 quoted lines
>
> Having said that, I often had that case with interactive rebase, because
> I had an untracked file lying around (in your case util/stringfuncs.cpp)
> that was tracked in the version I was trying to rebase onto, but it
> stopped right there, even on msysGit.

util/stringfuncs.cpp is not an untracked file, though. It's a part of my repo. Also 'git status' shows that no files are modified. If it was an untracked file, 'git status' would have said so.

>
> Hopefully you can investigate the scenario more, by "git rebase --abort",
> and then running the rebase -i again, but with GIT_TRACE=1.
>
Here is the trace output. Notice how it prints errors about two files this time.

$ GIT_TRACE=1 git rebase -i 4a1552c81b622f85b0e9170c6fd7a22b4a3e633c trace: exec: 'git-rebase' '-i' '4a1552c81b622f85b0e9170c6fd7a22b4a3e633c' trace: built-in: git 'rev-parse' '--git-dir' trace: built-in: git 'rev-parse' '--is-inside-work-tree' trace: built-in: git 'rev-parse' '--show-cdup' trace: built-in: git 'rev-parse' '--parseopt' '--' '-i' '4a1552c81b622f85b0e9170c6fd7a22b4a3e633c' trace: built-in: git 'rev-parse' '--git-dir' trace: built-in: git 'rev-parse' '--show-cdup' trace: built-in: git 'rev-parse' '--is-inside-work-tree' trace: exec: 'git-var' 'GIT_COMMITTER_IDENT' trace: built-in: git 'rev-parse' '--verify' 'HEAD' trace: built-in: git 'update-index' '--ignore-submodules' '--refresh' trace: built-in: git 'diff-files' '--quiet' '--ignore-submodules' trace: built-in: git 'diff-index' '--cached' '--quiet' 'HEAD' '--ignore-submodules' '--' trace: built-in: git 'rev-parse' '--verify' '4a1552c81b622f85b0e9170c6fd7a22b4a3e633c' trace: built-in: git 'rev-parse' '--verify' 'HEAD' trace: built-in: git 'rev-parse' '--short' '4a1552c81b622f85b0e9170c6fd7a22b4a3e633c' trace: built-in: git 'rev-parse' '--short' '7a70781d089d98f0de606515d1041230cef9b184' trace: built-in: git 'rev-parse' '--short' '4a1552c81b622f85b0e9170c6fd7a22b4a3e633c' trace: built-in: git 'rev-list' '--no-merges' '--cherry-pick' '--pretty=oneline' '--abbrev-commit' '--abbrev=7' '--rever se' '--left-right' '--topo-order' '4a1552c81b622f85b0e9170c6fd7a22b4a3e633c...7a70781d089d98f0de606515d1041230cef9b184' trace: built-in: git 'update-ref' 'ORIG_HEAD' '7a70781d089d98f0de606515d1041230cef9b184' trace: built-in: git 'rev-parse' '--verify' '4965936^' trace: built-in: git 'rev-parse' '--verify' 'HEAD' trace: built-in: git 'reset' '--hard' '4965936' trace: run_command: 'read-tree' '-v' '-u' '--reset' '49659367ed932a691749fb4c6b93e38b2a85e9e1' trace: exec: 'git' 'read-tree' '-v' '-u' '--reset' '49659367ed932a691749fb4c6b93e38b2a85e9e1' trace: built-in: git 'read-tree' '-v' '-u' '--reset' '49659367ed932a691749fb4c6b93e38b2a85e9e1' error: git checkout-index: unable to create file util/boink_unittest.cpp (File exists) error: git checkout-index: unable to create file util/stringfuncs.cpp (File exists) fatal: Could not reset index file to revision '4965936'. trace: built-in: git 'rev-parse' '--short' '4965936' trace: built-in: git 'rev-parse' '--verify' 'd9c7ac9^' trace: built-in: git 'rev-parse' '--verify' 'HEAD' trace: built-in: git 'cherry-pick' 'd9c7ac9' error: Entry 'util/boink-py.cc' not uptodate. Cannot merge. fatal: merging of trees 0c27b10e163f00655486976896d096302b0f5c21 and 7c7dfd93d678cfc564649738d45260e0b5d9f5a7 failed trace: built-in: git 'rev-list' '--parents' '-1' 'd9c7ac9' trace: built-in: git 'diff-tree' '-p' 'd9c7ac9^'\!'' trace: built-in: git 'cat-file' 'commit' 'd9c7ac9' trace: built-in: git 'config' 'i18n.commitencoding' trace: built-in: git 'show' '-s' '--pretty=raw' '--encoding=UTF-8' 'd9c7ac9' '--' trace: built-in: git 'rerere' Could not apply d9c7ac9... Various reorganizations.

It doesn't really tell me much.

Maybe this command log is useful. I got this while aborting the rebase. Looks like some file creation race condition? Windows doesn't allow files to be deleted while they're open.

$ git rebase --abort error: git checkout-index: unable to create file util/boink_unittest.cpp (File exists) fatal: Could not reset index file to revision '7a70781d089d98f0de606515d1041230cef9b184'.

$ git rebase --abort error: git checkout-index: unable to create file util/stringfuncs.h (File exists) fatal: Could not reset index file to revision '7a70781d089d98f0de606515d1041230cef9b184'.

$ git rebase --abort error: git checkout-index: unable to create file util/boink_unittest.cpp (File exists) error: git checkout-index: unable to create file util/common.h (Permission denied) fatal: Could not reset index file to revision '7a70781d089d98f0de606515d1041230cef9b184'.

$ git rebase --abort
(this time it worked)

Thanks, Ludde

Previous: Johannes SchindelinNext: Ludvig Strigeus
Message 4 of 6 in “Git rebase -i failing on cygwin -- git checkout-index says File Exists”
  1. Ludvig StrigeusJan 20, 2009
  2. Ludvig StrigeusJan 20, 2009
  3. Johannes SchindelinJan 20, 2009
  4. Ludvig StrigeusJan 20, 2009
  5. Ludvig StrigeusJan 20, 2009
  6. Johannes SchindelinJan 20, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.