Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
pywin32 notify during build makes dag refresh all the time #516
Can you report which git-cola version you are using? My unreleased changes to the filesystem notification code should hopefully help alleviate this problem, as it now avoids refreshing until it has not detected any filesystem activity for at least 888ms (previously upon detecting filesystem activity, it would wait 888ms and then refresh, even if there had been more filesystem activity in the interim). However, as I just commented in issue #517, an additional improvement would be to not refresh at all if the file in question is ignored by git.
@living180 refreeshing on new commits or branches would be pretty cool, but maybe there's some things that can be tweaked project-side to make it more amenable.
If "make" is triggering refreshes then that suggests that the directories where file creation/modification is happening is inside a directory that is not ignored.
If you don't want git-dag refreshing then one way to make that happen is to add that directory to your .gitignore. That's the first thing to try to do. Possibly re-arranging the directory structure to place non-source files in a .gitignore-able subdir would help since we would no longer be watching items inside that directory.
For example, In the git-cola project we can do
@sthalik, if I'm understanding your Nagle reference correctly then you are suggesting that fsmonitory/inotify refreshes should be throttled so that they don't happen too often. That's a great idea ;-) it actually already works that way, but our interval is rather short. I can imagine that maybe someone might want to crank this number up to something much higher if it makes their workflow smoother. Here's where the throttle is currently defined:
I can see it being useful to make that a configurable run-time thing.
The only downside is that we won't see new files appear in the untracked file list until after the interval expires, but it would help avoid this papercut. What do you all think?
@davvid the build subdirectory is ignored and doesn't appear on Cola's untracked files list either.
The Nagle in this case is to ignore idempotent changes until they no longer come, and fire the signal after the last of them.
To my understanding none of the tracked project files change during the build process, only contents of the latter.
added a commit
Jan 1, 2016
@sthalik sorry it has taken me a bit to look at this. Although I don't normally use
I'm happy to try to help figure this out - can you give me more information about your system/setup so we can figure out what is going on?
Here's my rebase for cola master: https://github.com/sthalik/git-cola/commits/fsmonitor_check_ignore