-
Notifications
You must be signed in to change notification settings - Fork 63
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
Fail with diagnostic if submodules don't exist #53
Comments
Or just something like (untested, typing on phone):
I guess it may be a bit too magical for some people, but I think it makes sense... |
@nemequ - duh, not sure why I didn't think of that? I guess I have "source control" and build as separate concerns in my head, but this totally makes sense. Once question, I'm not following the |
Because if they download a tarball or zip from GitHub it won't include the
git files (or submodules).
GitHub's tarballs are broken if you use submodules, and there is no way to
disable them. They're aware of the issue, but have no plans to fix it, or
allow you to disable generated archives.
On August 3, 2018 7:48:55 AM travisdowns ***@***.***> wrote:
@nemequ - duh, not sure why I didn't think of that? I guess I have "source
control" and build as separate concerns in my head, but this totally makes
sense.
Once question, I'm not following the .git in the prerequisite list. What's
that for?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
Sent with AquaMail for Android
https://www.mobisystems.com/aqua-mail
|
@nemequ I see, so in the case a user downloaded a tarball, they would get some error like "no rule to make Git submodules are not really turning out to be as nice a way of including other projects as I had hoped. In particular, the fact that when you do a |
Right.
That's actually something I like about submodules; if the submodule's API is unstable you can still use them. That said, I wouldn't mind if there were a way to automatically track a branch for submodules you trust won't break their interface. Also, it may not just be API breaks you have to worry about. I've had API/ABI stable modules break because of files being added/removed… you may need to use your build system instead of theirs. Even if you do use theirs, usually build systems aren't included in the API guarantees. |
I probably didn't do a good job of explaining what I meant. You are talking about the feature where you point to a particular commit of a submodule and until you explicitly update that in the parent project, it will stay pointing there. That is great and necessary and I wouldn't want it any other way. What I'm talking about is that say you and I both have It means that a simple |
Oh, yeah you're right that's definitely annoying. FWIW git-radar makes that sort of thing a bit easier to spot. |
I think I am just going to get rid of all the submodules and move a git-subtree based approach instead. I have used it on other projects and it seems better in almost every respect. |
Many users will probably just
git clone
followed bymake
and the submodules will be missing in that case, but the failure mode is a bit obscure: you'll get some weird error as you try to make a submodule that doesn't exist.We should just check if (some) submodule exists and if not print a diagnostic recommending
git submodule update --init
.The text was updated successfully, but these errors were encountered: