On Wed, Nov 11, 2009 at 8:17 PM, Frederik Ramm <frede...@remote.org> wrote:
> Ævar Arnfjörð Bjarmason wrote:
>>
>> That's a non sequitur actually, the git-svn frontend is conduit
>> between SVN and has its limited uses but converting between
>> centralized and distributed version control is always going to be a
>> case of casting a square peg into a round hole.
>
> I don't have much git clue but some may remember that JOSM was in git,
> briefly, when Gabriel Ebner did his work on dropping segments.
>
> Conceptually, what would be the difference between putting JOSM on git and
> putting it on the project-wide SVN altogehter? If the main advantage of git
> is that it would become easier for "anyone" to contribute even if no
> maintainer has the time to review a patch, then the same could be achieved
> by going the same way that almost all other OSM applications go and put it
> on svn.openstreetmap.org - couldn't it?

Sure, it could be moved to the main OSM SVN. But it has been my
understanding that the main JOSM developers like keeping the gates to
their main repository fairly closed, and in that case if they used a
distributed version control system they could have their cake and eat
it too.

Very few people could be given access to the main repository (the ones
official .jar files get compiled from) but everyone would have access
to version control.

If you're unfamiliar with distributed version control I think the best
way to explain it is that things which now happen outside version
control in the project will be brought into the loop.

For instance now people who don't have commit access may be submitting
huge patches to trac without commit messages, and often many
successive patches as it gets reviewed. If the project were using dvcs
(correctly) those patchsets would be developed in someone's local
repository along with commit history until they could be merged into
the mainline.

At one point I had two pending patches to JOSM and wanted to develop a
third one. I had already submitted them to trac but for each change I
had done:

   svn diff [files relevant to the patch] > change-a.patch
   rm [files relevant to the patch] && svn up

If the project had been using git I could have commited each of those
changes to their own local branch while they were pending inclusion.

> Also, if we were to use git, would we depend on a third-party service like
> "github", or is git also usable (in a sensible way) without such a site?

Presumably if JOSM were to switch to something else it would want to
use something like the Trac plugin for Git to provide integration to
josm.openstreetmap.de. But using github certainly has a lot of
advantages.

Also with git you're never really dependent on third-party hosting.
Even if a project is using github and github is taken over by
flesh-eating aliens tomorrow getting everyone back on track is just a
matter of turning any checked out copy (because they all have full
history) into a hosted git:// repository and sending a message to the
mailing list telling everyone to commit to that.

_______________________________________________
josm-dev mailing list
josm-dev@openstreetmap.org
http://lists.openstreetmap.org/listinfo/josm-dev

Reply via email to