Skip to content
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

Speed up "git fat checkout" and "git fat pull" #68

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

purdeaandrei-movi
Copy link

Refactor the "git fat checkout" operation (and therefore also "git fat pull") to significantly improve its speed.

The main change here is that git checkout-index is now called only a single time for all files.
In some tests the performance improvement is six-fold.

With this change it doesn't make sense anymore to print out each file as it is being processed,
so only the number of files that need to be restored is shown.
The actual filenames are only printed if git-fat is verbose.

…t pull") to significantly improve its speed.

The main change here is that git checkout-index is now called only a single time for all files.
In some tests the performance improvement is six-fold.

With this change it doesn't make sense anymore to print out each file as it is being processed,
so only the number of files that need to be restored is shown.
The actual filenames are only printed if git-fat is verbose.
@purdeaandrei-movi
Copy link
Author

Added two more commits. Please note that right now if you enable verbose mode with export GIT_FAT_VERBOSE=1, then this will also enable verbose mode in the calls that git in turn makes to the git-fat filters. So the output will be very verbose.

There will be a lot of "git-fat filter-smudge: restoring from .git/fat/objects/" messages in addition to the list of files generated in one of the above commits.

@purdeaandrei-movi
Copy link
Author

bump?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants