Re: [OSM-dev] I converted the rails port to Git
On 22/02/2010 22:01, Andy Allan wrote: ... have a few of us throwing ideas around and mixing and merging between branches without pissing off TomH by doing it in trunk and without confusing anyone by having branches like gravitystorm-and-zere-and-shauns-new-thing that are only around for a day or two. That's a very good argument for the move to Git (or another distributed SCM) -- I can see how that's useful straight away. -- Jonathan (Jonobennett) ___ dev mailing list dev@openstreetmap.org http://lists.openstreetmap.org/listinfo/dev
Re: [OSM-dev] I converted the rails port to Git
Nice! we should have a git server on the osm site as well! mike On Sun, Feb 21, 2010 at 11:30 PM, Ævar Arnfjörð Bjarmason ava...@gmail.comwrote: We were discussing maybe moving over to Git in #osm and I thought I'd do a quick conversion just to show how easy it is: http://github.com/avar/openstreetmap-website ___ dev mailing list dev@openstreetmap.org http://lists.openstreetmap.org/listinfo/dev
Re: [OSM-dev] I converted the rails port to Git
Hi, Ævar Arnfjörð Bjarmason wrote: We discussed briefly on IRC where we would host our Git repositories if we hypothetically converted all of the OpenStreetMap SVN to it. Personally I think Github would be great for that, the alternative of just setting up our own git ssh:// and gitweb really misses the added benefit of the web-based forking, pull requests, multi-repostiory tracking and the other collaborative aspects of git which really shine through with Github. I have no experience with Github. Is it clean from a privacy / owning one's data viewpoint, i.e. doesn't try to sell stuff and annoy users (like Sourceforge does with endless buy services for ... ads), doesn't require committer's real names or e-mail addresses, and so on - or is it one of those sites with an evil business plan where sooner or later you'll be ashamed that you used them at all (as I have heard people say about Sourcefourge)? Because if there is any lingering doubt that Github might one day send targeted e-mails advertising the latest Ruby book to those who have checked in lots of Ruby code, or whatever, then I'd rather forgo these collaborative aspects. (All this comes from someone with almost not Git exposure; if Git is built in a way that even if OSM uses Github people can easily and equally well contribute without registering at Github then the point is probably less important. But if everyone is told why don't you register at Github then you can participate better then Github really needs to be squeaky clean for that to happen.) Bye Frederik -- Frederik Ramm ## eMail frede...@remote.org ## N49°00'09 E008°23'33 ___ dev mailing list dev@openstreetmap.org http://lists.openstreetmap.org/listinfo/dev
Re: [OSM-dev] I converted the rails port to Git
On Mon, Feb 22, 2010 at 08:14, Frederik Ramm frede...@remote.org wrote: Ævar Arnfjörð Bjarmason wrote: We discussed briefly on IRC where we would host our Git repositories if we hypothetically converted all of the OpenStreetMap SVN to it. Personally I think Github would be great for that, the alternative of just setting up our own git ssh:// and gitweb really misses the added benefit of the web-based forking, pull requests, multi-repostiory tracking and the other collaborative aspects of git which really shine through with Github. I have no experience with Github. Is it clean from a privacy / owning one's data viewpoint, i.e. doesn't try to sell stuff and annoy users (like Sourceforge does with endless buy services for ... ads), doesn't require committer's real names or e-mail addresses, and so on - or is it one of those sites with an evil business plan where sooner or later you'll be ashamed that you used them at all (as I have heard people say about Sourcefourge)? Because if there is any lingering doubt that Github might one day send targeted e-mails advertising the latest Ruby book to those who have checked in lots of Ruby code, or whatever, then I'd rather forgo these collaborative aspects. They have a non-evil business model: Selling access if you need large or private repositories. This is their privacy policy, it's written in Human: http://help.github.com/privacy/ (All this comes from someone with almost not Git exposure; if Git is built in a way that even if OSM uses Github people can easily and equally well contribute without registering at Github then the point is probably less important. But if everyone is told why don't you register at Github then you can participate better then Github really needs to be squeaky clean for that to happen.) You'll always be able to contribute without registering with Github, although of course if the master repository is hosted there and you want to push directly to it you'll need an account there. Github just makes things easier, especially if the people you're working with use it too. Here's an example: Earlier in this thread I mentioned that I back up my Github repositories, but just after writing that E-Mail I found a bug in the program I'm using to perform that backup. So I do: 1. Click Fork 2. git clone g...@github.com:avar/git-megapull.git 3. Patch it, the commits are here: http://github.com/avar/git-megapull/commits/master/ 4. Notify the author that I made the changes: http://i.imgur.com/K97zP.png If the author doesn't respond in a timely fashion by applying the patches other people that run into the same problem can see that the bug is fixed in my branch and trivially merge from it or just use it instead of his. This process is much easier than making a change to a program in a subversion repository you don't have access to. Then you have to fix it locally, do svn diff attach your patch (which won't have 4 commit messages like the above) to an E-Mail / trac ticket. Someone who wants to use your patch has to download it somewhere manually, may have difficulties merging it etc. Even if you do have commit access to the primary repository it's great to be able to easily fork programs in this manner. I've fixed a few issues with some programs in OpenStreetMap's repository but you always feel like you're playing with somebody else's toys. Maybe they don't like the changes you made and then you've just fouled up their trunk. It's much easier just to fix it locally, push it and tell them that they can merge from you if they like the changes. The biggest feature of Git or any distributed version control system is that it brings things that were previously outside the repository inside the repository, for instance getting multiple commit messages and easy merging for things that were previously huge patches attached in trac somewhere. ___ dev mailing list dev@openstreetmap.org http://lists.openstreetmap.org/listinfo/dev
Re: [OSM-dev] I converted the rails port to Git
On 22/02/10 00:46, Ævar Arnfjörð Bjarmason wrote: On Mon, Feb 22, 2010 at 00:09, Tom Hughest...@compton.nu wrote: On 21/02/10 22:30, Ęvar Arnfjörš Bjarmason wrote: We discussed briefly on IRC where we would host our Git repositories if we hypothetically converted all of the OpenStreetMap SVN to it. Personally I think Github would be great for that, the alternative of just setting up our own git ssh:// and gitweb really misses the added benefit of the web-based forking, pull requests, multi-repostiory tracking and the other collaborative aspects of git which really shine through with Github. Well apparently we can setup our own github if we want, but I will need to look at that. It's possible to set up your own ssh:// or git:// server and a Gitweb installation. Github however provides a lot more on top of that, mainly having to do with thebuzzwordsocial/buzzword aspects of coding. I.e. it's really easy for anyone to fork your repository and easy for you to monitor what they're doing and merge stuff back if you want. I was actually referring to http://fi.github.com/ which Shaun had pointed out on IRC but I hadn't realised you had to pay for it. Of course you want a more reliable backup than just counting on commiters to have a recent copy. It's easy to do this by setting up a cronjob somewhere that does git pull from github to a local copy somewhere every hour or so, that's how I backup my repositories on Github. I realise we can do backups that way, I'm just worried that it's going to be a pain if we've got to maintain a vast list of gits to pull rather than just having one directory tree that we need to backup. Tom -- Tom Hughes (t...@compton.nu) http://compton.nu/ ___ dev mailing list dev@openstreetmap.org http://lists.openstreetmap.org/listinfo/dev
Re: [OSM-dev] I converted the rails port to Git
On Sun, Feb 21, 2010 at 23:30, Ævar Arnfjörð Bjarmason ava...@gmail.com wrote: We were discussing maybe moving over to Git in #osm and I thought I'd do a quick conversion just to show how easy it is: Was there any discussion about alternatives to git? I favour Mercurial myself. I know that this is a religious topic and I don't want to start a discussion about the merits of one vs. the other and if you decide to go with git I've got no problems with it. Cheers, Lars ___ dev mailing list dev@openstreetmap.org http://lists.openstreetmap.org/listinfo/dev
Re: [OSM-dev] I converted the rails port to Git
On Mon, 22 Feb 2010, [UTF-8] Ãvar Arnfjörð Bjarmason wrote: So I do: 1. Click Fork 2. git clone g...@github.com:avar/git-megapull.git 3. Patch it, the commits are here: http://github.com/avar/git-megapull/commits/master/ 4. Notify the author that I made the changes: http://i.imgur.com/K97zP.png On repo.or.cz admins are suggested to add the 'mob' user. So everyone can contribute. Stefan ___ dev mailing list dev@openstreetmap.org http://lists.openstreetmap.org/listinfo/dev
Re: [OSM-dev] I converted the rails port to Git
On 21/02/2010 22:30, Ævar Arnfjörð Bjarmason wrote: We were discussing maybe moving over to Git in #osm and I thought I'd do a quick conversion just to show how easy it is: Sorry I missed the original conversation. Can you, for the benefit of those of us not present, give a few bullet points of the benefits to OSM as a project of a move to Git (or any other SCM)? I'm interested in what problems this move would solve, not what features Git has that SVN doesn't. For what it's worth, I have nothing particularly against Git, or for SVN, but change has its cost. And I'd prefer Mercurial, purely because I use NetBeans, and it has better hg support. Not against the move, but just want to know what the project would gain. -- Jonathan (Jonobennett) ___ dev mailing list dev@openstreetmap.org http://lists.openstreetmap.org/listinfo/dev
Re: [OSM-dev] I converted the rails port to Git
On Sun, Feb 21, 2010 at 11:30 PM, Ævar Arnfjörð Bjarmason ava...@gmail.com wrote: We were discussing maybe moving over to Git in #osm and I thought I'd do a quick conversion just to show how easy it is: http://github.com/avar/openstreetmap-website Why not gitorious? It maybe doesn't have all the bells and whistles like github but it's getting there and with it's support for groups (I can't really find them on github, maybe I didn't try hard enough) it would be ideal (IMHO of course) for a project like OSM with multiple contributors working on multiple projects (repos)... Also it has nice support for projects with multiple repositories. Regards, -- Łukasz [DeeJay1] Jernaś ___ dev mailing list dev@openstreetmap.org http://lists.openstreetmap.org/listinfo/dev
Re: [OSM-dev] I converted the rails port to Git
On Mon, Feb 22, 2010 at 11:56, Jonathan Bennett openstreet...@jonno.cix.co.uk wrote: On 21/02/2010 22:30, Ęvar Arnfjörš Bjarmason wrote: We were discussing maybe moving over to Git in #osm and I thought I'd do a quick conversion just to show how easy it is: Sorry I missed the original conversation. Can you, for the benefit of those of us not present, give a few bullet points of the benefits to OSM as a project of a move to Git (or any other SCM)? I'm interested in what problems this move would solve, not what features Git has that SVN doesn't. For what it's worth, I have nothing particularly against Git, or for SVN, but change has its cost. And I'd prefer Mercurial, purely because I use NetBeans, and it has better hg support. If OSM moves to Git we'll all be way awesomer and get more girls. We might even eclipse Google Maps sometime next month. More seriously though I didn't mean to sound as if everyone should switch to git /right now/ because it's so awesome. I did the experimental rails_port - Git conversion because there was some discussion in the #osm channel from some developers that work on it (zere shaun) about potentially using Git. I just thought I'd spend 10 minutes bringing that from the hypothetical to something that worked. Furthermore the OpenStreetMap SVN is a collection of a vast amount of unrelated projects who reraly talk together or share any code. My posting was mainly aimed at on of the authors (or group of authors) which already maintain a project there, want to switch to Git but don't know how. Honstly I'd rather not see some project-wide discussion about whether we should all use Git or Subversion. I've seen a few of those and it ultimately degenerates into the equivalent of a room full of people collectively deciding what their favorite color is; Or to pick an analogy closer to home: Whether we should all use Potlatch or JOSM. Rather I think it's useful to recognize that we like different things, that there are boundaries in the OSM SVN over which code never crosses, and if people want to split up a part of it into Git, Mecurial, CVS or whatever that's fine, and if they want to stay with SVN that's also just fine :) ___ dev mailing list dev@openstreetmap.org http://lists.openstreetmap.org/listinfo/dev
Re: [OSM-dev] I converted the rails port to Git
On Mon, Feb 22, 2010 at 11:56 AM, Jonathan Bennett openstreet...@jonno.cix.co.uk wrote: On 21/02/2010 22:30, Ævar Arnfjörð Bjarmason wrote: We were discussing maybe moving over to Git in #osm and I thought I'd do a quick conversion just to show how easy it is: Sorry I missed the original conversation. Can you, for the benefit of those of us not present, give a few bullet points of the benefits to OSM as a project of a move to Git (or any other SCM)? For me, it's about making public half-baked ideas. Like when I was most of the way through doing drag-and-drop icons for P2, and needed Dave and Richard to check the code. I'd rather just save my work-in-progress to my own tree rather than either committing straight to trunk or setting up a whole branch just for one small code review. For the rails port specifically, I'd like to play around with new UI stuff and maybe have a few of us throwing ideas around and mixing and merging between branches without pissing off TomH by doing it in trunk and without confusing anyone by having branches like gravitystorm-and-zere-and-shauns-new-thing that are only around for a day or two. As for hosting, my vote[1] is for gitorious instead of github. But I'm not a diehard on that topic. Cheers, Andy ___ dev mailing list dev@openstreetmap.org http://lists.openstreetmap.org/listinfo/dev
Re: [OSM-dev] I converted the rails port to Git
On Mon, Feb 22, 2010 at 10:01 PM, Andy Allan gravityst...@gmail.com wrote: As for hosting, my vote[1] is for gitorious instead of github. But I'm not a diehard on that topic. [1] Please don't vote. It was a figure of speech. :-) Cheers, Andy ___ dev mailing list dev@openstreetmap.org http://lists.openstreetmap.org/listinfo/dev
Re: [OSM-dev] I converted the rails port to Git
On 21/02/10 22:30, Ævar Arnfjörð Bjarmason wrote: We were discussing maybe moving over to Git in #osm and I thought I'd do a quick conversion just to show how easy it is: http://github.com/avar/openstreetmap-website Here are the commands you need to execute to convert it yourself: http://wiki.github.com/avar/openstreetmap-website/subversion-to-git-commands Whilst I'm prepared to consider moving to git we need to give serious consideration to whether we want to host on an external site, if only from the point of view of maintaining a solid set of backups. Is anyone maintaining a file with the E-Mail addresses of commiters? Tom? I don't have that as such, but if you can give me a list of usernames I should be able to come up with a list of addresses. We discussed briefly on IRC where we would host our Git repositories if we hypothetically converted all of the OpenStreetMap SVN to it. Personally I think Github would be great for that, the alternative of just setting up our own git ssh:// and gitweb really misses the added benefit of the web-based forking, pull requests, multi-repostiory tracking and the other collaborative aspects of git which really shine through with Github. Well apparently we can setup our own github if we want, but I will need to look at that. Some people on IRC were worried about the case where Github might be down and they wanted to deploy the site. It is down every once in a while but in those cases it should be just a matter of doing: git push ssh://deploy.openstreetmap.org/repos/web.git master From your local machine which also has those changes, and of course it would also be trivial to automatically replicate Github's repositories somewhere else as commits come in due to the distributed nature of Git. What is deploy.openstreetmap.org exactly? In order to make deployment work we need somewhere we can pull from to multiple machines. In the very worst case of it getting nuked from orbit by invading aliens you'll just copy the ssh keys you've allowed to somewhere else and tell commiters to do: git config remote.origin.url git://aliens-ate-github.org/openstreetmap/web.git That presumes that aliens-ate-github.org has somehow magically gained a copy of the code from github before the aliens arrived. Tom -- Tom Hughes (t...@compton.nu) http://compton.nu/ ___ dev mailing list dev@openstreetmap.org http://lists.openstreetmap.org/listinfo/dev
Re: [OSM-dev] I converted the rails port to Git
On Mon, Feb 22, 2010 at 00:09, Tom Hughes t...@compton.nu wrote: On 21/02/10 22:30, Ęvar Arnfjörš Bjarmason wrote: We were discussing maybe moving over to Git in #osm and I thought I'd do a quick conversion just to show how easy it is: http://github.com/avar/openstreetmap-website Here are the commands you need to execute to convert it yourself: http://wiki.github.com/avar/openstreetmap-website/subversion-to-git-commands Whilst I'm prepared to consider moving to git we need to give serious consideration to whether we want to host on an external site, if only from the point of view of maintaining a solid set of backups. Yes, of course. Backups need to be done wherever this ends up. Is anyone maintaining a file with the E-Mail addresses of commiters? Tom? I don't have that as such, but if you can give me a list of usernames I should be able to come up with a list of addresses. Just for the rails port this is everyone who's ever commited to it as produced by: git log --pretty=format:%an | sort | uniq -c | sort -nr http://paste.scsys.co.uk/39613 We discussed briefly on IRC where we would host our Git repositories if we hypothetically converted all of the OpenStreetMap SVN to it. Personally I think Github would be great for that, the alternative of just setting up our own git ssh:// and gitweb really misses the added benefit of the web-based forking, pull requests, multi-repostiory tracking and the other collaborative aspects of git which really shine through with Github. Well apparently we can setup our own github if we want, but I will need to look at that. It's possible to set up your own ssh:// or git:// server and a Gitweb installation. Github however provides a lot more on top of that, mainly having to do with the buzzwordsocial/buzzword aspects of coding. I.e. it's really easy for anyone to fork your repository and easy for you to monitor what they're doing and merge stuff back if you want. Check out for example this network graph for the recently released hiphop-php: http://github.com/facebook/hiphop-php/network You can drag it see that people have been passing patches around and merging back and forth as they need some features that other people have added. A better example perhaps is rails-i18n which gets a lot of merge requests, and it's something we use: http://github.com/svenfuchs/rails-i18n/network All of this is possible without using something like Github of course but it's much harder (set up your own hosting instead of just clicking fork) and it's not as easy to see what's being added to your code elsewhere to merge those changes back. Some people on IRC were worried about the case where Github might be down and they wanted to deploy the site. It is down every once in a while but in those cases it should be just a matter of doing: git push ssh://deploy.openstreetmap.org/repos/web.git master From your local machine which also has those changes, and of course it would also be trivial to automatically replicate Github's repositories somewhere else as commits come in due to the distributed nature of Git. What is deploy.openstreetmap.org exactly? In order to make deployment work we need somewhere we can pull from to multiple machines. A hypothetical local mirror of the official repository used for deployment. Just like the webserver (presumably) has a Subversion checkout now. In the very worst case of it getting nuked from orbit by invading aliens you'll just copy the ssh keys you've allowed to somewhere else and tell commiters to do: git config remote.origin.url git://aliens-ate-github.org/openstreetmap/web.git That presumes that aliens-ate-github.org has somehow magically gained a copy of the code from github before the aliens arrived. No. In this case you'd do: # Doesn't work, aliens ate github git pull # Go to http://aliens-ate-github.org and create a fresh empty repository, then: git config remote.origin.url git://aliens-ate-github.org/openstreetmap/web.git # Populate it with your local copy git push Since every Git repository is a full cryptographically signed copy of the full repository history everyone working on the code has a full backup up to the time that he or she last did git pull. Of course you want a more reliable backup than just counting on commiters to have a recent copy. It's easy to do this by setting up a cronjob somewhere that does git pull from github to a local copy somewhere every hour or so, that's how I backup my repositories on Github. ___ dev mailing list dev@openstreetmap.org http://lists.openstreetmap.org/listinfo/dev
Re: [OSM-dev] I converted the rails port to Git
For what it's worth, you have my full support regarding moving to git. I was considering making a merkaartor clone to gitorious myself, SVN seems so limited when you start working with git or bazaar from multiple branches. As for myself, I like bazaar because the learning curve seems easier coming from svn, and lauchpad is a nice repository with great support for translations. Perhaps a little bit too ubuntu-esque, though. Beware that Trac+Git might not be hassle-free, apparently. Maybe switch to redmine? IMHO, redmine is to trac what git is to svn... - Chris - ___ dev mailing list dev@openstreetmap.org http://lists.openstreetmap.org/listinfo/dev
Re: [OSM-dev] I converted the rails port to Git
I just did a svn/googlecode to git/github import for Cartagen: github.com/jywarren/cartagen/ and ran this perl script to import issues. It worked pretty well, could be adapted to trac: http://gist.github.com/101002 jeff On Sun, Feb 21, 2010 at 8:35 PM, Chris Browet c...@semperpax.com wrote: For what it's worth, you have my full support regarding moving to git. I was considering making a merkaartor clone to gitorious myself, SVN seems so limited when you start working with git or bazaar from multiple branches. As for myself, I like bazaar because the learning curve seems easier coming from svn, and lauchpad is a nice repository with great support for translations. Perhaps a little bit too ubuntu-esque, though. Beware that Trac+Git might not be hassle-free, apparently. Maybe switch to redmine? IMHO, redmine is to trac what git is to svn... - Chris - ___ dev mailing list dev@openstreetmap.org http://lists.openstreetmap.org/listinfo/dev ___ dev mailing list dev@openstreetmap.org http://lists.openstreetmap.org/listinfo/dev
Re: [OSM-dev] I converted the rails port to Git
On Mon, Feb 22, 2010 at 01:09, Tom Hughes t...@compton.nu wrote: On 21/02/10 22:30, Ævar Arnfjörð Bjarmason wrote: We were discussing maybe moving over to Git in #osm and I thought I'd do a quick conversion just to show how easy it is: http://github.com/avar/openstreetmap-website Here are the commands you need to execute to convert it yourself: http://wiki.github.com/avar/openstreetmap-website/subversion-to-git-commands Whilst I'm prepared to consider moving to git we need to give serious consideration to whether we want to host on an external site, if only from the point of view of maintaining a solid set of backups. In my personal setup, I host my personal git repository as a plain file system structure on a hosted account that I access via ssh. As I said, redmine is nice and allow a browsable interface to the git repository. I don't know if that scales, though... Seems good enough to host internally. The bells and whistles of github are nice but not core... - Chris - ___ dev mailing list dev@openstreetmap.org http://lists.openstreetmap.org/listinfo/dev