-
-
Notifications
You must be signed in to change notification settings - Fork 172
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
Crashpad submodule reference doesn't point to a valid commit #999
Comments
Hi @csk-ableton, thanks for the report.
This is a minor oversight because I often create PRs on both sides, where I reference a commit (from the sentry-native PR) in the PR of the submodule repository (in this case, I squashed the PR's commits this time when merging it, leaving the submodule-referenced commit orphaned. I will explain why this is not overly critical below (I will fix the reference nonetheless, but won't create a separate release for it).
Any commit ends up in the repos object database, where it will stay forever. At some point, an orphan commit (disconnected from either branch or tag) could be garbage collected (see git docs). However, in this case, the commit is part of a PR, and GitHub stores the commit in the target-repo's object database even before the PR is merged. This allows us to reference commits from PRs in submodules in the first place (even though they are not yet part of any branch in the target repo). As far as I know, commits from a PR will never get automatically garbage collected from GitHub, which is why you can see all commits made in any PR on GitHub long after they've been merged.
This is possible because the submodule fetches that particular commit, which will stay in the submodule repository indefinitely if it is part of a PR.
You're getting
it will happily add it to the local object database, and you can check it out. By the way, the contents of the last commit, |
Hi @supervacuus, thanks for the fast and detailed reply! I didn't realize the orphaned commit isn't fetched automatically and I have to do it explicitly (and that's what the submodule init is doing). That makes all sense then. |
Fixed in #1000. |
Description
The Crashpad submodule reference doesn't point to a commit on a branch (should be
getsentry
I guess), see the error when visiting https://github.com/getsentry/crashpad/tree/f4c7710dc178218e1e58d9e0b65be91cc5dbd66c. I'm not sure how this commit is kept alive and I'm not able to checkout the commit. It is however possible to initialize the submodule fine from within this repository (I'm not clear why).I have a more complex integration of the library and manually checkout https://github.com/getsentry/crashpad which is currently not possible.
When does the problem happen
Environment
Steps To Reproduce
Log output
The text was updated successfully, but these errors were encountered: