On Thu, Jan 31 2019, Elijah Newren wrote: > What's the future? (Core command of git.git? place it in contrib? keep it > in a separate repo?) I'm hoping to discuss that at the contributor summit > today, but feedback on the list is also welcome. Some of this I may have mentioned at the summit, but here for the list: * I think it should be a candidate for a core (not "just contrib") git.git command, given that we have someone willing to maintain it & deal with bugs etc. I'm not worried about that given the author. * It's unfortunate in terms of API we need to support going forward that this obligates us to support a fairly intricate python API going forward, so it's similar (but more detailed) to Git.pm (which I also tried to get rid of as an external API a while ago). However, as you correctly note that's the only way a command like this can be really fast, we already have the "no special API" command with git-filter-branch, and that's horribly slow. But perhaps there's ways we can in advance deal with a potential future breaking API change. E.g. some Pythonic way of versioning the API, or just prominently documenting whatever (low?) stability guarantees we're making. I imagine if we need to make breaking changes in the future that'll less big of a deal than in other cases, since we'd expect the API use to be one-off migration scripts, although maybe it'll get used for all-the-time exports (e.g. mirroring internal->external repos with filtering). * The rest of our commands are hooked up to the i18n framework. I don't think this should be a blocker, but it's worth thinking about what the plan for this is. Are we going to need the equivalent of Git::I18N for Python (which presumably will be a run-time dependency on something needing the Python API that links to gettext). Or perhaps we could do the translated strings in C, by making the program you're invoking be a C command, invoking the Python part as a helper (which would need to re-invoke a helper if it prints its own messages). Thanks for working on this!