Hi guys,
We been talking a while on this on IRC,
so now, like many other JBoss projects (hibernate, infinispan, ...),
*we are moving to git on github*.
- What do you need to do? => MUST READ, *deadline Thursday 16-DEC-2010*
- Why are we moving to git?
- What will you get by moving to git?
What do you need to do?
===============
If you are a drools committer and wish to continue committing after next
Saturday 18-DEC-2010.
1) Install git for your OS
1a) Linux: Install the package git (and optionally gitk)
$ sudo apt-get install git
$ sudo apt-get install gitk
1b) Windows: Use the icon on the right on
http://git-scm.com
1c) Mac OSX: Use the icon on the right on
http://git-scm.com (and
optionally install gitx from
http://gitx.frim.nl/ )
2) Install git in your IDE
2b) Eclipse: Install the EGit plugin. Menu Help, menu item Install
new software. Work with update site Helios, open Tree item
Collaboration, tree item Eclipse EGit.
2c) IntelliJ: Enable the git plugin (if not enabled): menu file, menu
item Other Settings, menu item Configure plugins.
3) Get a Github account:
https://github.com/signup/free
4) Configure git correctly (Github also tells you this):
$ git --version
git version 1.7.1
$ git config --global user.name myUsername
$ git config --global user.email myAccount(a)gmail.com
$ git config --global -l
user.name=ge0ffrey
user.email=ge0ffrey.spam@...
5) *Mail me these details before next Thursday 16-DEC-2010*
(to gds.geoffrey.de.smet at gmail dot com or ge0ffrey.spam at gmail
dot com )
if you are a drools committer (which I 'll verify):
5a) Your Github username
5b) Your JBoss Subversion username
5c) Your full name
5d) Your e-mail address (used on github). Note: you can register more
than 1 e-mail address on GitHub.
6) Push your public key to github:
Follow the instructions on
http://github.com/guides/providing-your-ssh-key
*Do NOT commit changes to subversion after Friday evening (so after 8:00
GMT Saturday 18-DEC-2010).*
The svn to git migration will probably take hours. Sorry in advance for
the hindrance.
I 'll send a mail to the drools dev list when svn commits are forbidden
and also when git commits are open.
More info about the git URL and switching tips & tricks will follow soon.
Why are we moving to git?
=================
Subversion has been great (and much better than CVS), but git's just better.
How my life improved since last month when I used svn. by Emmanuel
Bernard (Hibernate annotations etc lead)
http://blog.emmanuelbernard.com/2010/05/git-how-my-life-has-improved-sinc...
Why is git better than subversion?
http://whygitisbetterthanx.com/#svn
What will you get by moving to git?
======================
- Less merge conflicts and therefor easier branching
- Pull requests
Pull requests are /really cool/. It's like /patches on steroids/.
Ever been in a situation where you made a big, risky change?
You wanted to commit it (to get it off your plate, it's done),
but you'd like to get it peer reviewed by colleague X (because it's risky).
But a patch file didn't work because:
- A patch file can't handle binary files
- A patch file probably results in a merge conflict on applying (so X
ignores them)
- Applying a patch file needs to be done on the correct directory
- A patch file will forget I am the author and will make X the author
- A patch file does not allow for a conversation when X wants me to
change something before committing it
With git, just commit it as a pull request. Take a look at the pull
requests (with comments!) on hibernate-core:
https://github.com/hibernate/hibernate-core/pulls
- Multitasking in isolation
You work on a big improvement but you stumble up an existing bug (in the
same file(s)).
You want to fix the bug, the unfinished changes of the big improvement
break the build.
And - even worse - the big improvement changes break because of the
existing bug.
Read "Multitasking in isolation" on
http://blog.emmanuelbernard.com/2010/05/git-how-my-life-has-improved-sinc...
--
With kind regards,
Geoffrey De Smet