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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hannu Koivisto <azure@xxxxxx> writes:

> 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.

> 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
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]