Skip to content

Make git clones faster #151

@bycruz

Description

@bycruz

So I went down the rabbit hole for this because the build time for lde has started to bother me.

To speed up git clones, for GitHub and GitLab and likely a lot of git hosts, you can quickly use a special URL to download a tarball of the source which should be faster than cloning via git.

The problem with that is submodules are not cloned.

Another current issue with git clones for lde is that I assume it clones with history which is to my knowledge mostly unnecessary for lde's usecases.

I recently added the capability for git clones from lde to recurse submodules but it seems that submodules are a controversial subject..

For lde specifically, some recursive submodules are unnecessary. Like a bunch of curl's vendored dependencies definitely go unused for curl-sys.

npm doesn't support them, rarely anyone uses git deps anyway

bun doesn't support them, uses tarball fast path

cargo does support them, and people do complain about the lack of a mechanism to try to avoid cloning certain recursive modules.

luarocks doesn't support them out of concern for forwards compatibility for older luarocks versions..

I think I might revert the ability to clone with submodules and consider making curl-sys manually http fetch the repository and build it in its build.lua script. But that's concerning as there's no mechanism to pass over lde's curl or git functionality for it to use.

Overall a massive pain to think about, and a comprehensive build system vs the general build.lua would make this easier..

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions