-
-
Notifications
You must be signed in to change notification settings - Fork 62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor out more crates? #1194
Comments
Byron recommends to use
So we might just replace part of |
I decided that pulling in
|
I've tried this, but it seems that doing this ourselves might also be feasible:
|
I used I think I might:
|
|
|
P.S. After the PRs for new crates are merged, remember to:
|
@passcod I think we can also extract IMO it will actually make the error message a bit clearer on where the error comes from and it would also enable more easier reuse, especially for self-update binaries, asides from compilation time improvement. I also think putting |
@passcod I'm thinking if the git code should be in its own crate On one hand, While On the other hand, The git code also don't use anything from |
There's not a lot to that git code, I'm thinking of:
|
Yeah but the gix really pulls in a tons of crates
It's also used by binstalk for supporting "--git".
IMHO shallow_clone and its bare variant might be interesting to |
It's my believe that there is no dependency to non- With that said, if you have found a low-hanging fruit that would help you, please let me know or submit a PR against
If the function would be upstreamed (without having looked at it), I think it should be usable here right away, which doesn't seem to be the case without such a cancellation token. Generally I wouldn't worry about it, and think that such customizations are exactly what |
That's good to hear! Also, IMHO putting gitoxide in its own organisation name is better.
I could have a look at gix and tries to add a few features there, if you'd like.
Great, I would open a PR to gix instead of creating yet another crate. |
Thanks you, but I have to decline at this time. Each feature toggle adds complexity and I previously removed some as dealing with them slowed me down noticeably. What I meant is that if you know there is this one feature toggle that could significantly reduce compile times right now, then this is something that should be put in as the added complexity then seems worth it. That magical one feature toggle probably doesn't exist though. My feeling is that it's possible to divide
I agree, but for now there isn't any benefit in doing that. This topic seems unrelated as well.
Actually, I tried to suggest the opposite: Do create the abstractions you need as this is exactly what |
Got it.
Since gitoxide contains a lot of small crate, there's definitely no magic option for that.
Here's the link to the code. Edit: It contains:
|
Closed since all tasks are done. |
Right now a few modules are complicated, can be used relatively independent from other and have their own
*Error
types:helpers::git::Repository
: Completely independent of othersload_manifest_from_workspace
: This module is quite complicated and is useful on its own sincecargo_toml
does not provide such functionalitydrivers
: Provide default crates.io registry, sparse and git registry querying, could be useful as an independent crateThese modules listed above can be useful on their own, so it looks like splitting them out as separate crates makes sense?
The text was updated successfully, but these errors were encountered: