Git has 2 methods to access a repository, one with gitdaemon to do a
checkout and one with SSH to perform the push. We need to provide those
2 methods.
This is not perfect because it means that we cannot get the
corresponding commit message and author for each file in the tree view.
This is just a work around that will not affect most of the repositories
but the biggest ones with files not changes for a long time.
To fully fix this problem, one needs to build at each commit time a
cache table with the data of each commit (including the hash of each
file at each commit).