Skip to content

ability to fetch dependencies via mercurial protocol #14297

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

Open
Tracked by #14265
andrewrk opened this issue Jan 13, 2023 · 0 comments
Open
Tracked by #14265

ability to fetch dependencies via mercurial protocol #14297

andrewrk opened this issue Jan 13, 2023 · 0 comments
Labels
contributor friendly This issue is limited in scope and/or knowledge of Zig internals. enhancement Solving this issue will likely involve adding new logic or components to the codebase. zig build system std.Build, the build runner, `zig build` subcommand, package management
Milestone

Comments

@andrewrk
Copy link
Member

andrewrk commented Jan 13, 2023

Extracted from #14265.

zig build should support fetching via an URL like this:

    .url = "hg+ssh://[email protected]/~hyozd/serialplot#fadfbeea9d5cbed90eb79b66878ac029de2953c9",

and this:

    .url = "hg+https://hg.sr.ht/~hyozd/serialplot#fadfbeea9d5cbed90eb79b66878ac029de2953c9",

Note that the fragment is used to fetch a particular revision. I suppose the fragment could be omitted, meaning to fetch the tip, however, this would be not advised since the hash would be wrong as soon as another revision is pushed. Ideally, if the fragment is omitted then an error would be emitted telling the user to add the fragment, giving them a copy+pasteable snippet, or perhaps even editing the manifest file on the user's behalf.

Whether this is built-in or ends up being closed and relying on a third-party to provide a fetch plugin (#14294) will be determined based on the complexity of implementing and maintaining the mercurial protocol.

I think the first step would be to implement this as a third-party fetch plugin, and then we can evaluate whether it can be upstreamed and become a builtin.

Related:

@andrewrk andrewrk added enhancement Solving this issue will likely involve adding new logic or components to the codebase. contributor friendly This issue is limited in scope and/or knowledge of Zig internals. zig build system std.Build, the build runner, `zig build` subcommand, package management labels Jan 13, 2023
@andrewrk andrewrk added this to the 0.12.0 milestone Jan 13, 2023
@mlugg mlugg moved this to Fetching in Package Manager Aug 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
contributor friendly This issue is limited in scope and/or knowledge of Zig internals. enhancement Solving this issue will likely involve adding new logic or components to the codebase. zig build system std.Build, the build runner, `zig build` subcommand, package management
Projects
Status: Fetching
Development

No branches or pull requests

1 participant