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

Re: git rebase -i (and gitk) problem in Windows/Cygwin

From
HKHannu Koivisto <azure@iki.fi>
Date
Apr 20, 2009, 12:06 UTC
Message-ID
<83ljpvh6mk.fsf@kalahari.s2.org>
In-Reply-To
<831vs4im37.fsf@kalahari.s2.org>
Hannu Koivisto <azure@iki.fi> writes:
Show 39 quoted lines
> Greetings,
>
> With current git.git (1.6.2.2.446.gfbdc0) built for Cygwin, running
> on Windows XP, executing the following commands...
>
> mkdir test
> cd test
> git init
>
> echo initial > kala.c
> echo initial > sur.c
> git add *.c
> git commit -m "Initial commit."
>
> echo addition >> kala.c
> git commit -a -m "Kala addition 1."
>
> echo addition >> sur.c
> git commit -a -m "Sur addition."
>
> echo addition2 >> kala.c
> git commit -a -m "Kala addition 2."
>
> git rebase -i HEAD~3
>
> ...and moving commit "Kala addition 2." right after "Kala addition
> 1." and marking it to be squashed results to
>
> ---8<----------------------------------------------------
> error: Entry 'kala.c' not uptodate. Cannot merge.
> fatal: merging of trees 787519579d90e45dfee00189985fa8c92f56be8f and 83f124d88764604c7d348e73103168bd98665e56 failed
>
> Could not apply 14eb9c7... Kala addition 2.
> ---8<----------------------------------------------------
>
> rebase -i used to work fine earlier, but unfortunately I don't
> remember which version I used back then (1.6.something).
>
> This problem doesn't occur on Linux with the same git version.

For what it's worth, I managed to bisect the rebase problem down to commit e4c7292353dbef39feac1c6a60c5cde9140520a6 by Kjetil Barvik:

    write_entry(): use fstat() instead of lstat() when file is open
    Currently inside write_entry() we do an lstat(path, &st) call on a
    file which have just been opened inside the exact same function.  It
    should be better to call fstat(fd, &st) on the file while it is open,
    and it should be at least as fast as the lstat() method.
Show 11 quoted lines
> I don't know if it might be related (I suppose it could be because
> of that "...not uptodate" message) but I also see the following
> behaviour with gitk:
>
> * I change a file in workspace.
> * I "Update" in gitk - I see the change.
> * I undo the change.
> * I "Update" in gitk - I see an empty change.
> * "Reload" doesn't help - I still se an empty change.
> * I run "git status" on the command line and then select "Update"
>   in gitk -> now the change disappears.
-- 
Hannu
Previous: Hannu KoivistoNext: Alex Riesen
Message 4 of 5 in “git rebase -i (and gitk) problem in Windows/Cygwin”
  1. Hannu KoivistoApr 7, 2009
  2. Johannes SchindelinApr 7, 2009
  3. Hannu KoivistoApr 7, 2009
  4. Hannu KoivistoApr 20, 2009
  5. Alex RiesenApr 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.