Right now there are two git repositories with the main Kartotherian code: https://github.com/kartotherian/kartotherian and https://phabricator.wikimedia.org/diffusion/GMKT/browse/master/. The former is mentioned in all the documentation, the latter can only be found by searching.
These two repositories are not in sync.
I see a few ways we could handle this
- Treat Kartotherian like an external project. This would require proper releases and tags, which currently don't exist. npm install kartotherian@foo would then work and the source could be managed on either github or gerrit
- Make gerrit a mirror of github. This would require a mirroring script, and all commits would be first made to github then automatically picked up for gerrit.
- Make github a mirror of gerrit. This would mean that the github merge PR functionality could no longer be used. We could still use PRs, they'd just have to be merged differently. iirc, openstreetmap-website does this and PRs are all merged from the command-line, pushing to the "authorative" version on git.osm.org and the copy on github, and all development takes place on github.
- Say we're a fork and not keep the two in sync.
Some things to consider are
- We've wanted to build a community around Kartotherian in the past. This is easier on github.
- Being written in Nodejs, much of Kartotherian is really in submodules which are in different repositories.
- We need to have code review, but we have to decide how far to carry it. We don't want to code review every generic sub-library