-
Notifications
You must be signed in to change notification settings - Fork 60
Save git info #72
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
+107
−14
Merged
Save git info #72
Changes from all commits
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
e0073ea
Added support for saving git repo info.
zakv df4e17f
Added support for save_hg_info and save_git_info options in the labco…
zakv 58ed6db
save_labscripts()'s calls to git/hg for a given file now run in paral…
zakv 9a20221
Removed "--verify" from git rev-parse call.
zakv dc8d917
Added "git describe --always HEAD" to git commands.
zakv 2025755
Updated git/hg error message.
zakv 6022d97
Added '--tags' to call to git describe.
zakv 0f3f187
Results from git/hg are now cached for faster shot compilation.
zakv 903cc43
Worked on some thread safety issues with vcs caching.
zakv 4716ceb
Reduced _vcs_cache_rlock contention in save_labscripts().
zakv File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So the lock is now being held for however long it takes to query the subprocess information. You can reduce lock contention by doing something like
temp = _run_vcs_commands(name)
outside of the lock and then only holding the lock when you place that into the_vcs_cache
dictionary.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Believe it or not I actually originally set things up as you're suggesting in both of these comments with
Lock
in place ofRLock
, but then changed it. For the lock here in_file_watcher_callback()
, if the_file_watcher
thread called_file_watcher_callback()
then at least some of the cache data is out of date, so it is actually better for it to block thesave_labscripts()
thread from writing cached results to drive until the cache is updated.