如何使用Patch.crates-io覆盖两个不同版本的板条箱的货物箱依赖性?
我正在尝试修补有问题的板条箱,这些板条箱间接地包含在项目中的板条箱。但是问题是,我看到两个不同的板条箱使用了两个不同版本的有问题的板条箱。使用patch.crates-io
,我只能修补一个有问题的板条箱。
为了解释我的问题,这是代码插图。
可以说,我有一个名为“ myproject”的项目,其中包括板条箱“ A”和板条箱“ b”。板条箱“ A”和板条箱“ B”都包括板条箱“ C”,但两个不同的版本(假设0.1.1和0.2.2)。但是板条箱“ C”需要一些自定义来解决一些影响我项目的问题。制作了两个版本的本地副本后,我进行了一些修复程序,现在我想用patch.crates-io更新myproject。但是我只能为一个版本的板条板“ C”提供补丁。
在myproject.toml中
[patch.crates-io]
C = { version = "0.1.1", path = "../mylocalpath/C" }
如此问题是,是否有一种方法可以修补两个版本的“ C”,而无需制作板条箱“ A”或Crate'B'的本地副本?
I am trying to patch problematic crate that is included indirectly by crates that I include in my project. But issue is, I see two different crates use two different versions of problematic crate. Using patch.crates-io
, I could patch just one version of problematic crate.
To explain my problem, here is the code illustration.
Lets say I have a project called 'myproject' which includes Crate 'A' and Crate 'B'. Both Crate 'A' and Crate 'B' includes Crate 'C' but two different version (Lets say 0.1.1 and 0.2.2). But crate 'C' needs some customization to fix some issues that is affecting my project. After making local copies of both versions, I made some fixes and now I want to update myproject with patch.crates-io like below. But I could provide patch to only one version of Crate 'C'.
In myproject.toml
[patch.crates-io]
C = { version = "0.1.1", path = "../mylocalpath/C" }
So question is, is there a way of patching both versions of crate 'C' without making local copies of crate 'A' or crate 'B'?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我发现罗德里戈的评论非常有帮助。
如果您想要一个代码示例,则在这里我使用板条箱
rand
:如果您运行货物树,则可以看到已应用该补丁程序。
I found Rodrigo's comment very helpful.
If you want a code example, here i've done so with the crate
rand
:If you run cargo tree, you can see that the patch has been applied.