[OSM-dev] OSM software repositories -- git and svn

Jochen Topf jochen at remote.org
Fri May 23 19:36:26 UTC 2014


On Fr, Mai 23, 2014 at 03:19:07 +0200, Frederik Ramm wrote:
> Should everyone who remotely considers themselves an OSM developer have
> write access to the "openstreetmap" repository in github, or should we
> create an "openstreetmap-developer" repository for that which would have
> a "less official" character? Is there maybe a technical way to grant
> write access to the repository to everyone who has an OSM account
> without extra signup?

GitHub has an API. It should be pretty easy to create a mini web page
somewhere, where everybody can just type in their GitHub account name and the
web page will automatically add this account to the committer list for some
repository or so. You could combine this with an OAuth authentication to the
OSM server if you wanted.

An alternative would be to add some hooks that all pull requests to some
repository are always automatically merged. So people would still clone the
project and work on their own copy, but they could always send a pull request
to the "master" repository which would merge it automatically.  This would
even work without github.

You could also set up some fully automated system where everybody can send pull
requests, if you are on the white list it is accepted immediately, if you are
on the black list, it will be rejected, and for everybody else you'll land on
some list that people can review and if a reviewer clicks on "okay", your pull
request goes through and you'll be added to the whitelist automatically. That
way there is a minimal hurdle, but if you have done something okay once, the
system will trust you in the future. Reviewers could be the same people that
are on the whitelist, you seed that with a few trusted people and then the
system will regulate itself (hopefully).

Of course there could be lots of other combinations. You can add code to make
sure tests run through before merging etc. The coding needed for these things
should be pretty minimal, just some scripts that are run from git or github
hooks.

The added benefit of doing that in git is that you don't need special accounts
like in SVN, because git basically creates accounts out of email addresses.
Well, if you use GitHub in there, people need github accounts. But you don't
have to have another account list that somebody has to administer like with
the current SVN setup. So no password changing hassles etc., thats all done
"somewhere else".

Jochen
-- 
Jochen Topf  jochen at remote.org  http://www.jochentopf.com/  +49-721-388298



More information about the dev mailing list