[En-Nut-Discussion] Switching to GIT

bon at elektron.ikp.physik.tu-darmstadt.de bon at elektron.ikp.physik.tu-darmstadt.de
Wed Sep 25 13:54:47 CEST 2013

>>>>> "Harald" == Harald Kipp <harald.kipp at egnite.de> writes:

    Harald> Hi Uwe, I'm picking up this old thread again.

    Harald> On 22.05.2012 19:02, Uwe Bonnes wrote:

    >> I brought up the discussion about switching to GIT some time
    >> before. As most branches now a obsolete, isn't it a good time to do
    >> the swicth now?

    Harald> If I remember that earlier discussion correctly, you didn't
    Harald> provide any killer argument to convince the majority of active
    Harald> developers. So, just asking the same question again and again
    Harald> without providing new arguments won't change anyone's opinion.

Killer argiment for GIT are:
- The archive is local, so you can work without net connection
- Checkin are local first, so you have a grace period for error correction
until you really decide to upload. How often did you do the SVN checkin and
in the next moment you regretted the commit message or detected an error.
- Branching is easy, so you can first can develop in a local branch
- Git can keep the SVN history.
- Git can easily tag (*)
- Git is wide spread.

I have the pure ethernut/.git directory on the local Dropbox directory and
the working ethernut directory has only a link the the local ethernut .git
clone. That way, I can work on ethernut on different computers with the same
codebase. After working on one computer, I temporarily start dropbox to sync
to Dropbox. On the next computer I sync from Dropbox. With "git checkout --
." in the working ethernut root directory I have the same status I left on
the other computer.

    Harald> I also remember, that you main argument was history lookup speed
    Harald> and I replied, that Sourceforge's web interface is quite
    Harald> responsive. During the last days, however, that new web
    Harald> interface drove me crazy several times. Actually I started to
    Harald> hate this blinky, JavaSript-packed gimmick.  Specifically
    Harald> following a single file's history has become a pita.

git log --follow <filename>

Git also pipes automatically the log into a viewer, which has to be done as
a seperate command with SVN.

    Harald> In the end you find me ready for changing to Git. Why not hg?
    Harald> Well, it looks like Git is most popular and very well supported
    Harald> on all major platforms. As Thiago already mentioned, Mercurial
    Harald> is easier to learn.  But I think, that's a temporary
    Harald> problem. Actually most open source developers are already
    Harald> familiar with Git.

Before switching, what about first testing local? Either do a git svn
checkout (**) or I can send you my 84 MByte repo, as file or as access to my

But if you use git locally, there is also no urgent need to switch the
public repository anymore...

(*) One problem with tags is, that I can't find the date when the tag was
done. Let me explain with the linux kernel. I can see with "git log" when a
driver was introduced. But "git tag" doesn't give me a timeline so see which
kernel release number first distributed this driver first. So if we change to
git, we should make it a habbit to comment tags with the date.

(**) I can look up the commands to do so for you.


Uwe Bonnes                bon at elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------

More information about the En-Nut-Discussion mailing list