Record the hardlinks in the cache commit message, so we can restore them#828
Open
Record the hardlinks in the cache commit message, so we can restore them#828
Conversation
Contributor
Author
|
Very WIP; potential fix for #827 |
a74a99c to
bd35ed7
Compare
70e6746 to
7b9160c
Compare
Code isn't updated for latest version. Works around travis failures Signed-off-by: Richard Clamp <richardc@unixbeard.net>
The tests in terms of shellout! were slightly at the wrong level, as it was also having to test what git_cmd passed onto shellout! Signed-off-by: Richard Clamp <richardc@unixbeard.net>
Allows, for example, the commit message to be more interestingly generated. Signed-off-by: Richard Clamp <richardc@unixbeard.net>
7b9160c to
19ce149
Compare
git doesn't care about hardlinks; when it does the checkout it creates different files. Here we record the hardlinks in the install_dir as a json blob in the commit message, then use that to re-hardlink after cache restore. Signed-off-by: Richard Clamp <richardc@unixbeard.net>
92707fb to
29dee9e
Compare
Contributor
Author
|
I think this is now in a solid enough state to be considered. Thank you maintainers. |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description
The git backed build cache duplicates hardlinked files, as git just stores them as multiple files that happen to have the same contents. This means on a cache hit we end up with a package that has duplicated files that were intended to be hardlinks.
Here we record the hardlinks in the install_dir in
#incrementalas they are being added, and add that information as a json blob in the comment of the build cache entry.Later we use that recording in
#restore_from_cacheto restore the observed hardlinks.Closes #827
Maintainers
Please ensure that you check for:
serial number
corresponding change is reviewed and there is a release plan
corresponding change is reviewed and there is a release plan