2016-07-11 5 views
2
arbeiten

Ich habe folgendes ESTRUCTURE die über grok Spiegel bestückt ist:Git instaweb mit mehreren Repositorys nicht

/var/opt/git/git-data/repositories 
    /organization1 
     /teamA 
     /repo1 
     /repo2 
     /teamB 
     /repo3 
     /repo4 
    /organizationN   
     /teamN 
     /repoN 

git instaweb für einen einzelnen Repo funktioniert gut, aber wenn ich automatisch git instaweb wollen zeigt alle repos unter " Repositorys“dir spielt es keine Arbeit:

fatal: Not a git repository (or any parent up to mount point /var/opt/git/git-data) 
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set). 

was wahr ist, weil es keine Repo im Stammverzeichnis ist, aber wenn ich git instaweb von /var/opt/git/git-data/repositories/organization/teamA/ ausführen bekomme ich den gleichen Fehler und in diesem Verzeichnis ist, wo die nackten repos wohnen s (ein RepoN.git Verzeichnis für jeden Repo)

Ich habe GIT_DISCOVERY_ACROSS_FILESYSTEM env var ohne Ergebnisse gesetzt. Auch ich habe eingestellt /etc/gitweb.conf den folgenden Eintrag: our $projectroot = "/var/opt/git/git-data/repositories";

Wie ich in doc des Projekts gelesen haben, git instaweb für mehrere repos dienen, nicht nur ein und es sieht für repos unter bestimmten Verzeichnis.

Was mache ich falsch?

+0

Ich glaube nicht, dass es mehrere Repositories gleichzeitig durchsuchen kann. –

+0

Das Dokument zeigt, dass es möglich ist: https://git-scm.com/docs/gitweb Gitweb bietet eine Webschnittstelle zu Git-Repositories. Zu seinen Funktionen gehören: Anzeigen mehrerer Git Repositories mit gemeinsamen Root. – RuBiCK

+0

Es gibt einen Workaround [hier] (http://stackoverflow.com/questions/38348407/how-visualice-multiple-repos-and-clone-them-git-instaweb-gitlist-gitlab/38348437#38348437) zum Archivieren der gleiche Ergebnisse. – RuBiCK

Antwort

3

Ich mache dies, indem ich ein leeres Repository anlege und eine Verknüpfung zu den Repositories herstelle, die ich durchsuchen möchte. Diese Problemumgehung ist notwendig, weil instaweb gitweb kompliziert ausführt und das Projekt root setzt.

git init instaweb 
cd instaweb 
ln -s /var/opt/git/git-data/repositories/org1/teama/repo1 repo1-a-1 
ln -s /var/opt/git/git-data/repositories/org2/teamb/repo2 repo2-b-2 
git instaweb --httpd webrick 

Der Server ist und läuft jetzt und die Homepage wird eine .git Projektliste (die das leere Repository ist einfach initialisiert) zusammen mit den beiden aktuellen Projekten mit Ihnen in Verbindung.

Verwandte Themen