我试图修补有问题的板条箱,这是间接包括板条箱,我在我的项目包括。但问题是,我看到两个不同的板条箱使用两个不同版本的有问题的板条箱。使用patch.crates-io
,我可以只修补一个版本的有问题的crate。
为了解释我的问题,下面是代码说明。
假设我有一个名为“myproject”的项目,其中包括Crate“A”和Crate“B”。板条箱'A'和板条箱'B'都包括板条箱'C',但有两个不同的版本(比如0.1.1和0.2.2)。但是crate 'C'需要一些定制来修复一些影响我项目的问题。在制作了两个版本的本地副本后,我做了一些修复,现在我想用如下的patch.crates-io更新我的项目。但我只能提供一个版本的板条箱'C'的补丁。
在myproject.toml中
[patch.crates-io]
C = { version = "0.1.1", path = "../mylocalpath/C" }
所以问题是,有没有一种方法可以同时修补两个版本的crate 'C',而不需要本地复制crate 'A'或crate 'B'?
1条答案
按热度按时间kpbwa7wx1#
我发现Rodrigo的评论很有帮助。
如果你想要一个代码示例,这里我已经用crate
rand
完成了:如果你运行cargo tree,你可以看到补丁已经被应用了。