1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//! Git-sourced manifest imports.
//!
//! `[import.git]` references a manifest by **repository URL + commit +
//! path-within-repo**. The transport is part of the URL stored in the
//! manifest; the same manifest always uses the same transport.
//!
//! Implementation: subprocess `git` + `cat-file --batch` for blob reads.
//! Requires `git >= 2.30` on `PATH`.
//!
//! ```text
//! Manifest authors write:
//! [import.git]
//! remote = "https://gitlab.com/myorg/system-manifests"
//! rev = "5b1f9c2a..."
//! ref = "release-2024.10" # optional
//! path = "system/Manifest.toml"
//! ```
//!
//! HTTPS git auth comes from `[[auth]]` entries in `auth.toml` keyed by
//! hostname, applied via `GIT_CONFIG_*` environment variables so secrets
//! never appear on argv. SSH delegates entirely to the system `ssh`
//! (honours `~/.ssh/config`, ssh-agent, smart cards, etc.).
//! For URL substitution use git's own `url.<base>.insteadOf` mechanism
//! in `~/.gitconfig` or `$GIT_CONFIG_GLOBAL`.
pub
pub use ;
/// Returns true if `s` looks like a 40-character lowercase-hex SHA-1 commit.