While slowly
merging with Sweden, and ADSL which should reach my house in some two weeks, I am enjoying my new office space and
Git to upload patches to the CDK. Christoph
wondered if we should switch CDK from SVN to Git. A few developers objected, for various reasons: no native Windows clients (though
msysgit might be the solution), no (stable) plugins for Eclipse, IDEA(?), etc.
I
made the switch, and really happy about it.
Anyway, one issue for me not to switch the full CDK project would be to have a central place where we could host our Git repository. Now, GitHub does just that, and after inquiring with them about the 100MB limit,
Tom emailed me:
Hi Egon,
We'd love to have your open source project on GitHub. The 100MB is currently a soft limit, so you won't have any problems uploading a larger repo. We hope you enjoy GitHub!
Tom Preston-Werner
github.com/mojombo
So, I created an
account (I'm happy there are so few
Egon's in the world :), and
uploaded the CDK 1.2 branch, which, for now at least, will serve as mirror only, while SVN will be the primary repository.
You can easily check it out with:
$ git clone git://github.com/egonw/cdk.git
I am not sure how you can email me your patches, but I know it is possible and report on this later. This mirror is important to those who want to play with Git, as one no longer requires git-svn, dropping one dependency.
Now, it does provide some extra payload on my side, as I need to keep cdk SVN repository (or, better, my git-svn copy of it) synchronized with the git repository, but this turned out to be fairly easy:
$ cd GitHub/cdk
$ git pull ../../SourceForge/git-svn/cdk my-local-1.2
$ git push
So, does this mean no goodies for people who stick to SVN? No, there are some, like this
PunchCard:
Regarding sending patches to you, couldn't I start with a clone of your repo and then share it. So then you could pull patches from my repo directly?
ReplyDeleteOr have I misunderstood how Git works?
Rajarshi, that's exactly how it can work!
ReplyDeleteMake sure to do this:
$ git config --global user.name "Your Name Comes Here"
$ git config --global user.email you@yourdomain.example.com
So that that bit of information gets into the central repository properly. Actually, thinking about it... not sure if that would propagate to SVN... another advantage of Git :)