Re: [eigen] git

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


Benoit Jacob wrote:
I don't know much about Git or DVCS's in general but my impression is
that it makes it easier to create your own branch of Eigen and then
let other people use it.

That's true. For example if you put a project on github, everybody who is registered there is just one or two clicks away from "forking" that project, ie creating a copy to which she can push changes - including own branches. These branches can easily be merged into the original repository (or any other fork, fvwiw).

> I also believe that git is far more clever
than SVN at merging different branches. I would be interested in links
explaining how this is the case... or proving me wrong.

It is true, and a nice example is here: http://blog.jrock.us/articles/Git%20merging%20by%20example.pod

All this means moving out of the KDE tree (even if KDE moves to git in
the future that wouldn't solve a)).

Even if KDE does move, it would probably split into multiple repositories, as happened with Gnome.

But at the moment we have KDE trunk that relies on Eigen trunk. So in
order to keep things convenient for KDE, we could, in the short term,
keep a copy of eigen in kdesupport, where it is now, and update it
from time to time by re-syncing with the git repo (any pointer
appreciated as to best practice to do that).

If you are only interesting in pushing one or two branches, 'git svn dcommit' should do what you want.


I absolutely want to preserve 100% of the SVN commit history across
this change. I was told this is possible and a friend offered to do
the move for us.

From experience I can say that is works pretty well, especially if done by somebody who knows both version control systems.

Questions:
a) Git or Mercurial or another DVCS? Here like elsewhere, I expect git
to be the most popular, but I don't have any opinions of my own as I'm
very ignorant in these matters. From IRC and mail I received several
"votes" for git and 1 for mercurial.

I am used to git and thus would prefer it (but I contributed only one patch so far, so I guess my opinion doesn't really count). I've also worked a tiny bit with darcs, and also liked it. Any DVCS is a big win.

b) Where to look for hosting? I heard that github is nice and offers
useful features. The alternative would be tuxfamily which offers plain
git repos, but certainly not with the same fancy features.

Github is cool, I see no reason not to choose it.

c) Any good git tutorial you'd especially recommend? especially
regarding dealing with different branches ?

There are many good tutorials, but none of them will save you from playing around with it. Git has a learning curve, and can be a bit frustrating a bit at first, but IMHO it's much worth it.


For those who want to play around, there's already a (naiive) git clone here: http://github.com/moritz/eigen2/

If you want to push back to svn from that, you have to add the following lines to .git/config in that dir:

[svn-remote "svn"]
        url = svn://anonsvn.kde.org/home/kde/trunk/kdesupport/eigen2
        fetch = :refs/remotes/git-svn

Then you can push local changes to git with

git svn dcommit


Cheers,
Moritz



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/