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