<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

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