Update git package submodules after clone and reset#4314
Merged
snoyberg merged 3 commits intocommercialhaskell:masterfrom Sep 25, 2018
Merged
Update git package submodules after clone and reset#4314snoyberg merged 3 commits intocommercialhaskell:masterfrom
snoyberg merged 3 commits intocommercialhaskell:masterfrom
Conversation
For packages identified by git locations, this changes the logic to: 1. clone the repo 2. reset --hard to a specific commit 3. update submodules (recursively)
344ab0f to
8bda49d
Compare
Contributor
snoyberg
requested changes
Sep 22, 2018
subs/pantry/src/Pantry/Repo.hs
Outdated
| ( "hg" | ||
| , [] | ||
| , ["update", "-C", T.unpack commit] | ||
| , [] |
Contributor
There was a problem hiding this comment.
Doesn't this mean that, for Mercurial, we'll be calling hg here with no arguments? I think using a Nothing value here and checking for that below would be appropriate.
Contributor
Author
There was a problem hiding this comment.
👍 Good suggestion. There's definitely no reason to have an extra shell out to hg with no arguments, I pushed another commit to fix that.
Also happy to squash things up back to a single commit, but I might wait for further feedback and do that once at the end.
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.
Related to #1764 and a subtle fix for what was implemented in #1852, this changes the logic for packages identified by git locations so that submodules are properly updated. The process now looks like this:
reset --hardto a specific commitThe problem with the existing implementation is that a hard reset (
git reset --hard) doesn't update submodules so the state of submodules in a package will always be whatever's on the default branch.I tested a similar version of this patch against the v1.9.0.1 tag, but I was unable to get stack on master to properly read the
stack.yamlof my project. To test requires a little bit of setup. You need:TODO:
The documentation has been updated, if necessary.I don't believe there's anything to update here, but please let me know!