inotify + file list problem #165

Closed
futureweb opened this Issue Mar 12, 2013 · 6 comments

Projects

None yet

2 participants

@futureweb

Hello,

we got a problem with git-cola (1.8, 1.8.1, 1.8.2 and latest GIT-DEV tested).
When inotify is enabled - the file selection List (Status) jumps around - it's hardly impossible to select/stage files like this ...

System: Centos 6.4

Andreas Schnederle-Wagner

@davvid
Member
davvid commented Mar 13, 2013

I wonder whether it would be helpful to have a mechanism to disable the inotify stuff. e.g. support a cola.inotify git configuration variable, default it to true, and disable inotify when it is set false. That could be one half of a solution.

I would also like a more extensive solution. Can you tell me how you trigger the problem? Do you run "make", which creates lots of events, and the GUI can't keep up? If this is the case, I wonder whether we should queue up notifications and process at most once per N seconds.

Is it the status tree that becomes unusable (perhaps it doesn't remember its scroll location?) or is it the diff viewer? We already try to accomodate a bit for inotify floods. We can certainly do better.

@futureweb

right now we have disabled inotify - otherwise git-cola wouldn't be useable at the moment ;-)

The weird thing is that no big changes were done on the source files - so inotify should not trigger that much ... so i'm not sure why this happened.

It looked like the Status Tree did not remember it's actual position - and jumped around (most often the selected item jumped to the bottom of the window)
When multiple items were selected and it jumped down - all files were deselected and only the top one stayed selected.

If I can help you further debugging this Problem just tell me.

Andreas

@davvid
Member
davvid commented Mar 13, 2013

Thanks, that helps. I'll add the configuration variable in the short term and see what we can do about the selection going crazy.

@futureweb

sounds good! ;-)
just drop me a line here when it's implemented - then I will test it.

Andreas

@davvid davvid added a commit that referenced this issue Mar 13, 2013
@davvid davvid inotify: allow disabling inotify by setting `cola.inotify` false
Teach cola to disable inotify when `cola.inotify` is false.  e.g.

	git config --global cola.inotify false

Related-to: #165
Signed-off-by: David Aguilar <davvid@gmail.com>
59b5be8
@davvid davvid added a commit that closed this issue Mar 23, 2013
@davvid davvid status: remember selection across updates
Teach the status widget to properly restore the selection across
updates.  This ensures that multiple selected items stay selected across
refresh operations, e.g. Ctrl+R refresh or updates from inotify.

Closes #165

Reported-by: @futureweb via github.com
Signed-off-by: David Aguilar <davvid@gmail.com>
938d23a
@davvid davvid closed this in 938d23a Mar 23, 2013
@davvid davvid added a commit that referenced this issue Mar 23, 2013
@davvid davvid inotify: lessen the update interval
There's no downside to waiting just a little bit longer before
triggering update events.  This also helps to lessen the impact of
inotify floods.

Related-to: #165

Signed-off-by: David Aguilar <davvid@gmail.com>
b30d19d
@davvid
Member
davvid commented Mar 23, 2013

As promised, I think this may be better now when under inotify floods, and the selection behavior should be better now. It originally would restore the selection for a single file. It now restores the entire selection.

@futureweb

Hi davvid,
we just got the latest version - and it's working like a charm! ;-)
Thank you
Andreas Schnederle-Wagner

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment