ROOT has moved to Git

Today ROOT has moved to Git for version control.

We have made the change because Git offers many benefits over Subversion. Basically all large Open Source projects have preceded us in this move. For more details about the why, how and where see this presentation.

A detailed Git HowTo has been added to the ROOT website.

To checkout the ROOT sources, clone in Git parlance, do:

   git clone http://root.cern.ch/git/root.git

For the rest, in respect to building ROOT, nothing has changed.

1 Like

I’m pleased that you moved to Git, but did you mean to take away SVN browsing with ViewVC?

The ViewVC menu link on the ROOT web pages now takes you to geant4_vmc.

More seriously, losing ViewVC means that links to ViewVC files in emails and documentation no longer work. These are usually to specific versions, so it doesn’t matter that they are no longer updated.

Also, I don’t see how in git to access code by a specific SVN revision number (used when discussing old fixes, and even printed on ROOT startup).

It would also be easier to become familiar with git’s view of the ROOT code if one could refer to the familiar SVN view.

I realise that you want to move people over to git, but suddenly switching off ViewVC is way too drastic. It doesn’t matter that SVN doesn’t get new updates - ViewVC is mainly needed for older updates.

Please let us have ViewVC back! :smiley:

Thanks,
Tim.

Hi Tim,

I heard you and have put ROOT back in viewvc. However, still don’t know what is the best way to let the user know she looks at a frozen svn repo. Btw, in gitweb you can search for any svn revision number as I’ve preserved the svn revisions during the conversion, see:

root.cern.ch/gitweb?p=root.git&a … it&s=47049

Cheers, Fons.

Could you, please, fix the “installing-root-source” and all “root-version-*-patch-release-notes” web pages so that people know how to download the “trunk” and any “specific tags”, including “heads of patches’ branches”.

Does ROOT have any plans to mirror on github at any point? Lots of big projects do this, and the interface is somewhat nicer than gitweb for browsing (highlighting, logs etc).

@bmorgan there has been a mirror of ROOT’s Subversion repository on github for a while now:

https://github.com/bbannier/ROOT

I suppose this will be even easier now for anyone to mirror ROOT on github without the hassle of svn->git conversion with git-svn. Wouldn’t be too hard either to keep a cron running to push new commits to a mirror on github. Maybe the ROOT dev team would consider doing this officially?

I’m in agreement with what @bmorgan says; github currently exceeds other solutions on the market.

Yes, planning to setup automatic push to github from a hook in our main repo. Stay tuned.

– Fons

@noeldawe, @bmorgan

My github mirror isn’t being updated anymore since I only set it up to pull from SVN. Also since (I suppose) I didn’t do as much cleanup when doing the import as whoever did this for ROOT upstream the SHA1s don’t match. So use with care.

I personally still don’t get what is so superior about github as compared to say git gui blame or gitk filtered by path; and it’s not like there is anything interesting happening with regards to developer repos/pull requests, wikis or issue tracking (where JIRA should really be integrated better) either.

We’ve created an “official” mirror of the ROOT repo on GitHub. Every push to github.com/root-mirror/root.git (via “git push github &” in the post-receive hook, so the mirror is basically always in sync). This official ROOT GitHub mirror can be browsed via this link:

https://github.com/root-mirror/root

Cheers, Fons.

While running cmake it complains about missing several files, for example:

this file can be found in

Could you please check or missing files in the tree, or CMakeFiles.txt files?

We are reorganizing some code and the cmake build system will be fixed soon. Je in the meanwhile ./configure;make.

– Fons