Re: [OSM-dev] I converted the rails port to Git

2010-02-23 Thread Jonathan Bennett
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

2010-02-22 Thread jamesmikedup...@googlemail.com
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

2010-02-22 Thread Frederik Ramm
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

2010-02-22 Thread Ævar Arnfjörð Bjarmason
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

2010-02-22 Thread Tom Hughes
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

2010-02-22 Thread Lars Francke
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

2010-02-22 Thread Stefan de Konink
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

2010-02-22 Thread Jonathan Bennett
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

2010-02-22 Thread Łukasz Jernaś
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

2010-02-22 Thread Ævar Arnfjörð Bjarmason
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

2010-02-22 Thread Andy Allan
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

2010-02-22 Thread Andy Allan
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

2010-02-21 Thread Tom Hughes
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

2010-02-21 Thread Ævar Arnfjörð Bjarmason
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

2010-02-21 Thread Chris Browet
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

2010-02-21 Thread Jeffrey Warren
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

2010-02-21 Thread Chris Browet
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