#cargo-subcommand #issue #github #cargo #subcommand #community

app cargo-contribute

Cargo 子命令,用于贡献您依赖项的开发

4 个版本

使用旧的 Rust 2015

0.2.2 2017 年 12 月 26 日
0.2.1 2017 年 12 月 25 日
0.2.0 2017 年 12 月 21 日
0.1.1 2017 年 12 月 18 日
0.1.0 2017 年 12 月 17 日

#440Cargo 插件

GPL-3.0 许可证

64KB
1K SLoC

cargo-contribute

crates.io Build Status License

A cargo subcommand for contributing to development of your dependencies

关于

想要回馈你在项目中依赖的有用crate的作者吗?

使用 cargo-contribute,你可以找到一种简单的方式来实现这一点!

当在 Rust 项目上运行 cargo-contribute

  • 找到它的直接依赖项
  • 检查它们的 GitHub 仓库
  • 寻找维护者正在寻找帮助的未分配问题

以下是一个示例

$ cargo contribute
[kbknapp/clap-rs] #1094: -h, --help generate trailing spaces -- https://github.com/kbknapp/clap-rs/issues/1094
[bluss/rust-itertools] #236: Forward `fn collect()` everywhere it is possible and where it makes a difference -- https://github.com/bluss/rust-itertools/issues/236
[kbknapp/clap-rs] #1078: Dedupe Tests -- https://github.com/kbknapp/clap-rs/issues/1078
[bluss/rust-itertools] #92: Group by that merges same key elements -- https://github.com/bluss/rust-itertools/issues/92
[kbknapp/clap-rs] #1073: suboptimal flag suggestion -- https://github.com/kbknapp/clap-issues/rs/1073
[bluss/rust-itertools] #32: Add Debug implementations where possible -- https://github.com/bluss/rust-itertools/issues/32
[kbknapp/clap-rs] #850: zsh completion is too strict on command line args -- https://github.com/kbknapp/clap-rs/issues/850
[dtolnay/isatty] #1: Implement stdin_isatty() for Windows -- https://github.com/dtolnay/isatty/issues/1

现在你可以选择其中一个问题并开始 hacking :)

安装

您可以通过常规的 cargo-contribute 安装方式 cargo install

$ cargo install cargo-contribute

这将把 cargo-contribute 可执行文件放在您的 Cargo 二进制目录中(例如 ~/.cargo/bin)——希望它在您的 $PATH 中——并使其作为 Cargo 子命令可用。

用法

默认情况下,cargo-contribute 建议针对您项目的直接依赖项提交的所有合适问题。您可以使用 -n/--count 标志限制它们的数量

$ cargo contribute -n 3
[bluss/rust-itertools] #236: Forward `fn collect()` everywhere it is possible and where it makes a difference -- https://github.com/bluss/rust-itertools/issues/236
[bluss/rust-itertools] #92: Group by that merges same key elements -- https://github.com/bluss/rust-itertools/issues/92
[bluss/rust-itertools] #32: Add Debug implementations where possible -- https://github.com/bluss/rust-itertools/issues/32

此外,您还可以通过使用 --format/-T 标志来调整问题的打印方式。它接受标准 Rust format!() 字符串(参见 --help 了解 {patterns} 列表)

$ cargo contribute --format '{url}'
https://github.com/kbknapp/clap-rs/issues/1094
https://github.com/bluss/rust-itertools/issues/236
https://github.com/kbknapp/clap-rs/issues/1078
https://github.com/bluss/rust-itertools/issues/92
https://github.com/kbknapp/clap-issues/rs/1073
https://github.com/bluss/rust-itertools/issues/32
https://github.com/kbknapp/clap-rs/issues/850
https://github.com/dtolnay/isatty/issues/1

还可以提供您自己的 个人访问令牌,用于调用 GitHub API。这有助于避免对匿名调用实施的(相当严格的)速率限制

$ cargo contribute --github-token XXXXXXXXXXXXXX

有关更详细的用法说明,请检查cargo contribute --help

许可证

cargo-contribute采用GPLv3许可证。

依赖关系

约19–30MB
约482K SLoC