I have been seing some things happening in josh-sync like pr #38, where @Kobzol suggested to move to the new cli because josh-sync is re-implementing things we already added upstream.
Now I set out to contribute that myself while having some time over easter but then realized there is a bigger problem here:
There was one breaking change in Josh about handleing trivial merge commits. While there is a supported migration path, it is hard to adopt since it would require some subtrees to use the old version and others the new version, at least till of them are upgraded (on all branches).
I don't expect breaking changes link this in Josh to be common, but it still got me thinking...
Things would be a lot easier if the configuration for all subtrees was centralized in one place. It's semantics are anyway tied to the "current repo setup" and not really live on the same time axis as the code itself.
Places to store is could be a ref/branch here in rust-lang/josh-sync or rust-lang/rust. (could even be on the main branch of "josh-sync" if the tool is not intended to use outside of rust-lang)
Then when doing syncs, josh-sync could get the config from there, all it would need is the "what subtree am i in" information passed to it.
Any thoughts on this? @Kobzol, @RalfJung
I have been seing some things happening in josh-sync like pr #38, where @Kobzol suggested to move to the new cli because josh-sync is re-implementing things we already added upstream.
Now I set out to contribute that myself while having some time over easter but then realized there is a bigger problem here:
There was one breaking change in Josh about handleing trivial merge commits. While there is a supported migration path, it is hard to adopt since it would require some subtrees to use the old version and others the new version, at least till of them are upgraded (on all branches).
I don't expect breaking changes link this in Josh to be common, but it still got me thinking...
Things would be a lot easier if the configuration for all subtrees was centralized in one place. It's semantics are anyway tied to the "current repo setup" and not really live on the same time axis as the code itself.
Places to store is could be a ref/branch here in rust-lang/josh-sync or rust-lang/rust. (could even be on the main branch of "josh-sync" if the tool is not intended to use outside of rust-lang)
Then when doing syncs, josh-sync could get the config from there, all it would need is the "what subtree am i in" information passed to it.
Any thoughts on this? @Kobzol, @RalfJung