11个版本
0.4.4 | 2022年11月5日 |
---|---|
0.4.2 | 2022年5月30日 |
0.4.0 | 2021年11月14日 |
0.3.1 | 2021年1月27日 |
0.1.0 | 2020年2月6日 |
在 解析器实现 中排名第 312
每月下载量 5,485
在 27 个 crate(22 个直接)中使用
22KB
292 行
git-url-parse
支持Pro Git书中指定的通用协议
支持解析Github、Bitbucket、Azure Devops的SSH/HTTPS仓库url
- Github
- Bitbucket
- Azure Devops
请查看 tests/parse.rs 以获取各种输入的预期输出。
使用ssh://
协议(隐式或显式)的URL将进行小规模规范化处理以便解析。
内部使用Url crate的Url::parse()
在规范化后。
示例
运行带有调试输出的示例
$ RUST_LOG=git_url_parse cargo run --example multi
$ RUST_LOG=git_url_parse cargo run --example trim_auth
简单用法和输出
$ cargo run --example readme
use git_url_parse::GitUrl;
fn main() {
println!("SSH: {:#?}", GitUrl::parse("[email protected]:tjtelan/git-url-parse-rs.git"));
println!("HTTPS: {:#?}", GitUrl::parse("https://github.com/tjtelan/git-url-parse-rs"));
}
示例输出
SSH: Ok(
GitUrl {
host: Some(
"github.com",
),
name: "git-url-parse-rs",
owner: Some(
"tjtelan",
),
organization: None,
fullname: "tjtelan/git-url-parse-rs",
scheme: Ssh,
user: Some(
"git",
),
token: None,
port: None,
path: "tjtelan/git-url-parse-rs.git",
git_suffix: true,
scheme_prefix: false,
},
)
HTTPS: Ok(
GitUrl {
host: Some(
"github.com",
),
name: "git-url-parse-rs",
owner: Some(
"tjtelan",
),
organization: None,
fullname: "tjtelan/git-url-parse-rs",
scheme: Https,
user: None,
token: None,
port: None,
path: "/tjtelan/git-url-parse-rs",
git_suffix: false,
scheme_prefix: true,
},
)
依赖关系
~8–11MB
~221K SLoC