English ▾ Themen ▾ Neueste Version ▾ gitweb.conf zuletzt aktualisiert in 2.52.0

NAME

gitweb.conf - Konfigurationsdatei für Gitweb (Git Web-Interface)

SYNOPSIS

/etc/gitweb.conf, /etc/gitweb-common.conf, $GITWEBDIR/gitweb_config.perl

BESCHREIBUNG

Das gitweb CGI-Skript zur Anzeige von Git-Repositories über das Web verwendet ein Perl-Skriptfragment als Konfigurationsdatei. Sie können Variablen mit "our $variable = value" setzen; Text ab einem "#"-Zeichen bis zum Ende einer Zeile wird ignoriert. Details finden Sie in perlsyn(1).

Ein Beispiel

# gitweb configuration file for http://git.example.org
#
our $projectroot = "/srv/git"; # FHS recommendation
our $site_name = 'Example.org >> Repos';

Die Konfigurationsdatei wird verwendet, um die Standardeinstellungen zu überschreiben, die zum Zeitpunkt der Generierung des gitweb.cgi-Skripts in Gitweb eingebaut wurden.

Obwohl man die Konfigurationseinstellungen direkt im gitweb CGI ändern könnte, gingen diese Änderungen bei einem Upgrade verloren. Konfigurationseinstellungen können auch in eine Datei im selben Verzeichnis wie das CGI-Skript mit dem Standardnamen gitweb_config.perl platziert werden – was es ermöglicht, mehrere Gitweb-Instanzen mit unterschiedlichen Konfigurationen durch die Verwendung von Symlinks zu haben.

Beachten Sie, dass einige Konfigurationen pro Repository und nicht global für Gitweb gesteuert werden können: siehe Unterabschnitt "Per-Repository-Gitweb-Konfiguration" in der Manpage gitweb[1].

DISKUSSION

Gitweb liest Konfigurationsdaten aus den folgenden Quellen in der folgenden Reihenfolge

  • eingebaute Werte (einige während der Build-Phase gesetzt),

  • globale Systemkonfigurationsdatei (Standard ist /etc/gitweb-common.conf),

  • entweder Instanzspezifische Konfigurationsdatei (Standard ist gitweb_config.perl im selben Verzeichnis wie das installierte Gitweb) oder, falls diese nicht existiert, eine fallweise globale Systemkonfigurationsdatei (Standard ist /etc/gitweb.conf).

Werte, die in späteren Konfigurationsdateien erzielt werden, überschreiben Werte, die früher in der obigen Sequenz erzielt wurden.

Die Speicherorte der globalen Systemkonfigurationsdatei, der fallweisen globalen Systemkonfigurationsdatei und der instanzspezifischen Konfigurationsdatei werden zur Kompilierzeit mit Build-Zeit-Makefile-Konfigurationsvariablen definiert, nämlich GITWEB_CONFIG_COMMON, GITWEB_CONFIG_SYSTEM und GITWEB_CONFIG.

Sie können auch die Speicherorte von Gitweb-Konfigurationsdateien zur Laufzeit überschreiben, indem Sie die folgenden Umgebungsvariablen setzen: GITWEB_CONFIG_COMMON, GITWEB_CONFIG_SYSTEM und GITWEB_CONFIG auf einen nicht-leeren Wert.

Die Syntax der Konfigurationsdateien ist die von Perl, da diese Dateien behandelt werden, indem sie als Fragmente von Perl-Code (der Sprache, in der Gitweb selbst geschrieben ist) gesourced werden. Variablen werden typischerweise mit dem our-Qualifikator gesetzt (wie in "our $variable = <value>;"), um Syntaxfehler zu vermeiden, falls eine neue Version von Gitweb eine Variable nicht mehr verwendet und sie daher nicht mehr deklariert.

Sie können andere Konfigurationsdateien mit der Unterroutine read_config_file() einbinden. Zum Beispiel könnte man Gitweb-Konfigurationen, die sich auf die Zugriffskontrolle für die Anzeige von Repositories über Gitolite (eines der Git-Repository-Management-Tools) beziehen, in eine separate Datei legen, z.B. in /etc/gitweb-gitolite.conf. Um sie einzubinden, fügen Sie hinzu:

read_config_file("/etc/gitweb-gitolite.conf");

irgendwo in der verwendeten Gitweb-Konfigurationsdatei, z.B. in der Gitweb-Konfigurationsdatei pro Installation. Beachten Sie, dass read_config_file() selbst prüft, ob die zu lesende Datei existiert, und nichts tut, wenn sie nicht gefunden wird. Sie behandelt auch Fehler in der eingebundenen Datei.

Die Standardkonfiguration ohne jegliche Konfigurationsdatei funktioniert für einige Installationen möglicherweise einwandfrei. Dennoch ist eine Konfigurationsdatei nützlich, um das Verhalten von Gitweb auf vielfältige Weise anzupassen oder zu optimieren, und einige optionale Funktionen sind nicht vorhanden, es sei denn, sie werden explizit über die konfigurierbare Variable %features aktiviert (siehe auch den Abschnitt "Konfigurieren von Gitweb-Funktionen" unten).

KONFIGURATION VARIABLEN

Einige Konfigurationsvariablen haben ihre Standardwerte (im CGI-Skript eingebettet), die während des Baus von Gitweb gesetzt werden – wenn dies der Fall ist, wird dies in ihrer Beschreibung erwähnt. Siehe die Datei INSTALL von Gitweb für Anweisungen zum Bauen und Installieren von Gitweb.

Speicherort der Repositories

Die unten beschriebenen Konfigurationsvariablen steuern, wie Gitweb Git-Repositories findet und wie Repositories angezeigt und zugegriffen werden.

Siehe auch die Abschnitte "Repositories" und folgende Unterabschnitte in der Manpage gitweb[1].

$projectroot

Absoluter Dateisystempfad, der dem Projektpfad vorangestellt wird; der Pfad zum Repository ist $projectroot/$project. Wird bei der Installation auf $GITWEB_PROJECTROOT gesetzt. Diese Variable muss korrekt gesetzt sein, damit Gitweb Repositories finden kann.

Wenn beispielsweise $projectroot mit "/srv/git" gesetzt wird, indem Folgendes in die Gitweb-Konfigurationsdatei geschrieben wird

our $projectroot = "/srv/git";

dann

http://git.example.com/gitweb.cgi?p=foo/bar.git

und seine Path_Info-basierte Entsprechung

http://git.example.com/gitweb.cgi/foo/bar.git

wird auf dem Dateisystem auf den Pfad /srv/git/foo/bar.git abgebildet.

$projects_list

Name einer einfachen Textdatei, die Projekte auflistet, oder der Name eines Verzeichnisses, das nach Projekten gescannt werden soll.

Projektlistendateien sollten ein Projekt pro Zeile auflisten, wobei jede Zeile das folgende Format hat

<URI-encoded filesystem path to repository> SP <URI-encoded repository owner>

Der Standardwert dieser Variablen wird durch die Makefile-Variable GITWEB_LIST zur Installationszeit bestimmt. Wenn diese Variable leer ist, greift Gitweb auf das Scannen des Verzeichnisses $projectroot nach Repositories zurück.

$project_maxdepth

Wenn die Variable $projects_list nicht gesetzt ist, scannt Gitweb das Dateisystem rekursiv nach Git-Repositories. Die Variable $project_maxdepth wird verwendet, um die Traversierungstiefe relativ zu $projectroot (Ausgangspunkt) zu begrenzen; das bedeutet, dass Verzeichnisse, die weiter von $projectroot entfernt sind als $project_maxdepth, übersprungen werden.

Dies ist eine reine Performance-Optimierung, ursprünglich für MacOS X gedacht, wo die rekursive Verzeichnisdurchsuchung langsam ist. Gitweb folgt symbolischen Links, erkennt aber Zyklen und ignoriert doppelte Dateien und Verzeichnisse.

Der Standardwert dieser Variablen wird durch die Build-Zeit-Konfigurationsvariable GITWEB_PROJECT_MAXDEPTH bestimmt, die standardmäßig auf 2007 gesetzt ist.

$export_ok

Repository nur anzeigen, wenn diese Datei existiert (im Repository). Nur wirksam, wenn diese Variable auf wahr ausgewertet wird. Kann beim Bauen von Gitweb durch Setzen von GITWEB_EXPORT_OK gesetzt werden. Dieser Pfad ist relativ zu GIT_DIR. git-daemon[1] verwendet git-daemon-export-ok, es sei denn, es wird mit --export-all gestartet. Standardmäßig ist diese Variable nicht gesetzt, was bedeutet, dass diese Funktion ausgeschaltet ist.

$export_auth_hook

Funktion, die verwendet wird, um zu bestimmen, welche Repositories angezeigt werden sollen. Diese Unterroutine sollte einen Parameter erhalten, den vollständigen Pfad zu einem Projekt, und wenn sie wahr zurückgibt, wird dieses Projekt in die Projektliste aufgenommen und kann über Gitweb zugegriffen werden, solange es die anderen Anforderungen erfüllt, die von $export_ok, $projects_list und $projects_maxdepth beschrieben werden. Beispiel

our $export_auth_hook = sub { return -e "$_[0]/git-daemon-export-ok"; };

obwohl das oben Genannte auch durch die Verwendung von $export_ok erreicht werden könnte

our $export_ok = "git-daemon-export-ok";

Wenn nicht gesetzt (Standard), bedeutet dies, dass diese Funktion deaktiviert ist.

Siehe auch ein komplexeres Beispiel im Unterabschnitt "Steuerung des Zugriffs auf Git-Repositories" in der Manpage gitweb[1].

$strict_export

Nur die Anzeige von Repositories erlauben, die auch auf der Übersichtsseite angezeigt werden. Dies bewirkt beispielsweise, dass die Datei $export_ok entscheidet, ob ein Repository verfügbar ist und nicht nur, ob es angezeigt wird. Wenn $projects_list auf eine Datei mit einer Projektliste verweist, wären nur die dort aufgeführten Repositories für Gitweb verfügbar. Kann während des Baus von Gitweb über GITWEB_STRICT_EXPORT gesetzt werden. Standardmäßig ist diese Variable nicht gesetzt, was bedeutet, dass Sie direkt auf die Repositories zugreifen können, die von der Projektlistenseite ausgeblendet sind (z.B. sind sie nicht in der Datei $projects_list aufgeführt).

Dateien finden

Die folgenden Konfigurationsvariablen teilen Gitweb mit, wo Dateien zu finden sind. Die Werte dieser Variablen sind Pfade auf dem Dateisystem.

$GIT

Kern-Git-Executable, das verwendet werden soll. Standardmäßig auf $GIT_BINDIR/git gesetzt, was wiederum standardmäßig auf $(bindir)/git gesetzt ist. Wenn Sie Git aus einem Binärpaket installiert haben, sollten Sie dies normalerweise auf "/usr/bin/git" setzen. Dies kann auch einfach "git" sein, wenn Ihr Webserver einen sinnvollen PATH hat; aus Sicherheitssicht ist es besser, den absoluten Pfad zur Git-Binärdatei zu verwenden. Wenn Sie mehrere Git-Versionen installiert haben, kann dies verwendet werden, um zu wählen, welche verwendet werden soll. Muss (korrekt) gesetzt sein, damit Gitweb funktionieren kann.

$mimetypes_file

Datei, die für (anhand der Dateiendung basierende) MIME-Typ-Schätzungen verwendet wird, bevor /etc/mime.types versucht wird. **HINWEIS**: Dieser Pfad wird, falls relativ, als relativ zum aktuellen Git-Repository und nicht zum CGI-Skript interpretiert. Wenn nicht gesetzt, wird nur /etc/mime.types verwendet (falls auf dem Dateisystem vorhanden). Wenn keine Mimetypen-Datei gefunden wird, ist die Schätzung von Mimetypen basierend auf der Dateiendung deaktiviert. Standardmäßig nicht gesetzt.

$highlight_bin

Pfad zur zu verwendenden Highlight-Executable (es muss diejenige von http://andre-simon.de/zip/download.php sein, aufgrund von Annahmen über Parameter und Ausgabe). Standardmäßig auf highlight gesetzt; setzen Sie es auf den vollständigen Pfad zur Highlight-Executable, falls diese nicht im PATH Ihres Webservers installiert ist. Beachten Sie, dass die Funktion highlight gesetzt sein muss, damit Gitweb tatsächlich Syntax-Hervorhebung verwendet.

**HINWEIS**: Damit eine Datei hervorgehoben werden kann, muss ihr Syntaxtyp erkannt werden und dieser Syntax muss von "highlight" unterstützt werden. Die Standard-Syntaxerkennung ist minimal, und es gibt viele unterstützte Syntaxtypen ohne Standarderkennung. Es gibt drei Optionen zur Hinzufügung von Syntaxerkennung. Die erste und zweite Priorität sind %highlight_basename und %highlight_ext, die basierend auf dem Basenamen (dem vollständigen Dateinamen, z.B. "Makefile") und der Endung (z.B. "sh") erkennen. Die Schlüssel dieser Hashes sind der Basisname bzw. die Endung, und der Wert für einen gegebenen Schlüssel ist der Name der Syntax, der über --syntax <syntax> an "highlight" übergeben wird. Die letzte Priorität sind die "highlight"-Konfiguration von Shebang-regulären Ausdrücken zur Erkennung der Sprache basierend auf der ersten Zeile der Datei (z.B. Übereinstimmung mit der Zeile "#!/bin/bash"). Weitere Details finden Sie in der Highlight-Dokumentation und der Standardkonfiguration unter /etc/highlight/filetypes.conf.

Wenn beispielsweise die von Ihnen gehosteten Repositories die Endung "phtml" für PHP-Dateien verwenden und Sie eine korrekte Syntax-Hervorhebung für diese Dateien wünschen, können Sie Folgendes zur Gitweb-Konfiguration hinzufügen

our %highlight_ext;
$highlight_ext{'phtml'} = 'php';

Die unten beschriebenen Konfigurationsvariablen konfigurieren einige von Gitwebs Links: ihr Ziel und ihr Aussehen (Text oder Bild) und wo Seiten-Voraussetzungen (Stylesheet, Favicon, Bilder, Skripte) zu finden sind. Normalerweise werden sie bei ihren Standardwerten belassen, mit der möglichen Ausnahme der Variablen @stylesheets.

@stylesheets

Liste von URIs von Stylesheets (relativ zur Basis-URI einer Seite). Sie können mehr als ein Stylesheet angeben, z.B. um "gitweb.css" als Basis zu verwenden und sitespezifische Modifikationen in einem separaten Stylesheet vorzunehmen, um das Upgrade von Gitweb zu erleichtern. Zum Beispiel können Sie ein site-Stylesheet hinzufügen, indem Sie

push @stylesheets, "gitweb-site.css";

in die Gitweb-Konfigurationsdatei schreiben. Diese Werte, die relative Pfade sind, sind relativ zur Basis-URI von Gitweb.

Diese Liste sollte die URI des Standard-Stylesheets von Gitweb enthalten. Die Standard-URI des Gitweb-Stylesheets kann zur Build-Zeit über die Makefile-Variable GITWEB_CSS gesetzt werden. Ihr Standardwert ist static/gitweb.css (oder static/gitweb.min.css, wenn die Variable CSSMIN definiert ist, d.h. wenn während des Builds ein CSS-Minifier verwendet wurde).

**Hinweis**: Es gibt auch eine Legacy-Konfigurationsvariable $stylesheet, die von älteren Gitweb-Versionen verwendet wurde. Wenn die Variable $stylesheet definiert ist, wird nur das von dieser Variable angegebene CSS-Stylesheet von Gitweb verwendet.

Verweist auf den Speicherort, an dem Sie git-logo.png auf Ihrem Webserver platziert haben, oder generischer auf die URI des Logos, 72x27 Pixel groß. Dieses Bild wird in der oberen rechten Ecke jeder Gitweb-Seite angezeigt und als Logo für den Atom-Feed verwendet. Relativ zur Basis-URI von Gitweb (als Pfad). Kann beim Bauen von Gitweb mit der Variablen GITWEB_LOGO angepasst werden. Standardmäßig auf static/git-logo.png gesetzt.

$favicon

Verweist auf den Speicherort, an dem Sie git-favicon.png auf Ihrem Webserver platziert haben, oder generischer auf die URI des Favicons, das als "image/png" Typ serviert wird. Webbrowser, die Favicons (Website-Symbole) unterstützen, können diese in der Adressleiste des Browsers und neben dem Seitennamen in den Lesezeichen anzeigen. Relativ zur Basis-URI von Gitweb. Kann zur Build-Zeit mit der Variablen GITWEB_FAVICON angepasst werden. Standardmäßig auf static/git-favicon.png gesetzt.

$javascript

Verweist auf den Speicherort, an dem Sie gitweb.js auf Ihrem Webserver platziert haben, oder generischer auf die URI des von Gitweb verwendeten JavaScript-Codes. Relativ zur Basis-URI von Gitweb. Kann zur Build-Zeit mit der Build-Zeit-Konfigurationsvariable GITWEB_JS gesetzt werden.

Der Standardwert ist entweder static/gitweb.js oder static/gitweb.min.js, wenn die Build-Variable JSMIN definiert wurde, d.h. wenn zur Build-Zeit ein JavaScript-Minifier verwendet wurde. **Hinweis**, dass diese einzelne Datei aus mehreren einzelnen JavaScript-"Modulen" generiert wird.

Ziel des Home-Links am oberen Rand aller Seiten (der erste Teil der Ansicht "Breadcrumbs"). Standardmäßig ist er auf die absolute URI der aktuellen Seite gesetzt (auf den Wert der Variablen $my_uri oder auf "/", wenn $my_uri undefiniert oder eine leere Zeichenkette ist).

$home_link_str

Beschriftung für den "Home-Link" am oberen Rand aller Seiten, der zu $home_link führt (normalerweise die Hauptseite von Gitweb, die die Projektliste enthält). Er wird als erste Komponente des Gitweb-"Breadcrumb Trails" verwendet: <home-link> / <project> / <action>. Kann zur Build-Zeit mit der Variablen GITWEB_HOME_LINK_STR gesetzt werden. Standardmäßig ist er auf "projects" gesetzt, da dieser Link zur Projektliste führt. Eine andere beliebte Wahl ist, ihn auf den Namen der Seite zu setzen. Beachten Sie, dass er als rohes HTML behandelt wird und daher nicht aus nicht vertrauenswürdigen Quellen gesetzt werden sollte.

@extra_breadcrumbs

Zusätzliche Links, die am Anfang des Breadcrumb-Trails vor dem Home-Link hinzugefügt werden sollen, zu Seiten, die logisch "oberhalb" der Gitweb-Projektliste liegen, wie z.B. die Organisation und die Abteilung, die den Gitweb-Server hosten. Jedes Element der Liste ist ein Verweis auf ein Array, in dem Element 0 der Linktext ist (entspricht $home_link_str) und Element 1 die Ziel-URL ist (entspricht $home_link).

Zum Beispiel erzeugt die folgende Einstellung einen Breadcrumb-Trail wie "home / dev / projects / …​", wobei "projects" der Home-Link ist.

    our @extra_breadcrumbs = (
      [ 'home' => 'https://www.example.org/' ],
      [ 'dev'  => 'https://dev.example.org/' ],
    );
$logo_url
$logo_label

URI und Beschriftung (Titel) für den Git-Logo-Link (oder Ihr Seitenlogo, falls Sie ein anderes Logo verwenden). Standardmäßig verweisen beide auf die Git-Homepage, https://git-scm.de; in der Vergangenheit verwiesen sie auf die Git-Dokumentation unter https://www.kernel.org.

Aussehen von Gitweb ändern

Sie können das Aussehen der von Gitweb generierten Seiten mit den unten beschriebenen Variablen anpassen. Sie können den Seitennamen ändern, gemeinsame Header und Footer für alle Seiten hinzufügen und eine Beschreibung dieser Gitweb-Installation auf der Hauptseite (der Projektlistenseite) hinzufügen usw.

$site_name

Name Ihrer Seite oder Organisation, der in den Seitentiteln erscheinen soll. Setzen Sie ihn auf etwas Beschreibendes für deutlichere Lesezeichen usw. Wenn diese Variable nicht gesetzt ist oder leer ist, verwendet Gitweb den Wert der CGI-Umgebungsvariablen SERVER_NAME und setzt den Seitennamen auf "$SERVER_NAME Git" oder "Untitled Git", wenn diese Variable nicht gesetzt ist (z.B. wenn Gitweb als eigenständiges Skript ausgeführt wird).

Kann zur Build-Zeit über GITWEB_SITENAME gesetzt werden. Standardmäßig nicht gesetzt.

$site_html_head_string

HTML-Snippet, das in den <head>-Abschnitt jeder Seite aufgenommen werden soll. Kann zur Build-Zeit über GITWEB_SITE_HTML_HEAD_STRING gesetzt werden. Kein Standardwert.

$site_header

Name einer Datei mit HTML, die am Anfang jeder Seite aufgenommen werden soll. Relativ zum Verzeichnis, das das gitweb.cgi-Skript enthält. Kann zur Build-Zeit über GITWEB_SITE_HEADER gesetzt werden. Kein Standardwert.

Name einer Datei mit HTML, die am Ende jeder Seite aufgenommen werden soll. Relativ zum Verzeichnis, das das gitweb.cgi-Skript enthält. Kann zur Build-Zeit über GITWEB_SITE_FOOTER gesetzt werden. Kein Standardwert.

$home_text

Name einer HTML-Datei, die, falls sie existiert, auf der Gitweb-Projektübersichtsseite ("projects_list"-Ansicht) aufgenommen wird. Relativ zum Verzeichnis, das das gitweb.cgi-Skript enthält. Der Standardwert kann zur Build-Zeit mit der Variablen GITWEB_HOMETEXT angepasst werden. Standardmäßig auf indextext.html gesetzt.

$projects_list_description_width

Die Breite (in Zeichen) der Spalte "Beschreibung" in der Projektliste. Längere Beschreibungen werden abgeschnitten (Versuch, an Wortgrenzen zu schneiden); die vollständige Beschreibung ist im title-Attribut verfügbar (wird normalerweise beim Überfahren mit der Maus angezeigt). Der Standardwert ist 25, was zu klein sein könnte, wenn Sie lange Projektbeschreibungen verwenden.

$default_projects_order

Standardwert für die Sortierung von Projekten auf der Projektlistenseite, d.h. die Sortierung, die verwendet wird, wenn Sie die Projektliste nicht explizit sortieren (wenn kein "o" CGI-Query-Parameter in der URL vorhanden ist). Gültige Werte sind "none" (unsortiert), "project" (Projekte nach Projektname, d.h. Pfad zum Repository relativ zu $projectroot), "descr" (Projektbeschreibung), "owner" und "age" (nach Datum des letzten Commits).

Standardwert ist "project". Ein unbekannter Wert bedeutet unsortiert.

Verhalten von Gitweb ändern

Diese Konfigurationsvariablen steuern das *interne* Gitweb-Verhalten.

$default_blob_plain_mimetype

Standard-MIME-Typ für die blob_plain (rohe) Ansicht, wenn die MIME-Typ-Überprüfung nicht zu einem anderen Typ führt; standardmäßig "text/plain". Gitweb errät den MIME-Typ einer anzuzeigenden Datei basierend auf der Erweiterung ihres Dateinamens, wobei $mimetypes_file (falls gesetzt und Datei vorhanden) und /etc/mime.types-Dateien verwendet werden (siehe Manpage mime.types(5); nur Regeln für Dateiendungen werden von Gitweb unterstützt).

$default_text_plain_charset

Standard-Charset für Textdateien. Wenn dies nicht gesetzt ist, wird die Webserver-Konfiguration verwendet. Standardmäßig nicht gesetzt.

$fallback_encoding

Gitweb nimmt diese Zeichenkodierung an, wenn eine Zeile Nicht-UTF-8-Zeichen enthält. Die Fallback-Dekodierung wird ohne Fehlerprüfung verwendet, daher kann sie sogar "utf-8" sein. Der Wert muss eine gültige Kodierung sein; siehe Manpage Encoding::Supported(3pm) für eine Liste. Der Standardwert ist "latin1", alias "iso-8859-1".

@diff_opts

Optionen zur Erkennung von Umbenennungen für git-diff und git-diff-tree. Standard ist ('-M'); setzen Sie es auf ('-C') oder ('-C', '-C'), um auch Kopien zu erkennen, oder setzen Sie es auf () d.h. eine leere Liste, wenn Sie keine Erkennung von Umbenennungen wünschen.

**Hinweis**, dass die Erkennung von Umbenennungen und insbesondere von Kopien ziemlich CPU-intensiv sein kann. Beachten Sie auch, dass Nicht-Git-Tools Probleme mit Patches haben können, die mit den oben genannten Optionen erstellt wurden, insbesondere wenn sie Dateikopien ('-C') oder kreuzweise Umbenennungen ('-B') beinhalten.

Einige optionale Funktionen und Richtlinien

Die meisten Funktionen werden über den Hash %feature konfiguriert; einige zusätzliche Gitweb-Funktionen können jedoch über die unten beschriebenen Variablen ein- und ausgeschaltet und konfiguriert werden. Diese Liste enthält neben Konfigurationsvariablen, die das Aussehen von Gitweb steuern, auch Variablen, die die administrative Seite von Gitweb konfigurieren (z.B. Schutz vor Cross-Site-Scripting; zugegeben, dies beeinflusst als Nebeneffekt das Aussehen von "Summary"-Seiten oder die Lastbegrenzung).

@git_base_url_list

Liste von Git-Basis-URLs. Diese URLs werden verwendet, um URLs zu generieren, die beschreiben, von wo ein Projekt abgeholt werden kann, und die auf der Projektzusammenfassungsseite angezeigt werden. Die vollständige Fetch-URL lautet "$git_base_url/$project" für jedes Element dieser Liste. Sie können mehrere Basis-URLs einrichten (z.B. eine für das git://-Protokoll und eine für das http://-Protokoll).

Beachten Sie, dass pro Repository-Konfiguration in der Datei $GIT_DIR/cloneurl oder als Werte der Mehrfachwert-Konfigurationsvariablen gitweb.url in der Projektkonfiguration festgelegt werden kann. Per-Repository-Konfiguration hat Vorrang vor dem Wert, der aus Elementen von @git_base_url_list und dem Projektnamen zusammengesetzt wird.

Sie können einen einzelnen Wert (einen einzelnen Eintrag/Punkt in dieser Liste) zur Build-Zeit einrichten, indem Sie die Build-Zeit-Konfigurationsvariable GITWEB_BASE_URL setzen. Standardmäßig ist sie auf () gesetzt, d.h. eine leere Liste. Das bedeutet, dass Gitweb keine Projekt-URL (zum Abrufen) aus dem Projektnamen erstellen würde.

$projects_list_group_categories

Ob die Gruppierung von Projekten nach Kategorie auf der Projektlistenseite aktiviert werden soll. Die Kategorie eines Projekts wird durch die Datei $GIT_DIR/category oder die Variable gitweb.category in der Konfiguration jedes Repositories bestimmt. Standardmäßig deaktiviert (auf 0 gesetzt).

$project_list_default_category

Standardkategorie für Projekte, für die keine angegeben ist. Wenn dies auf eine leere Zeichenkette gesetzt ist, bleiben solche Projekte unkategorisiert und werden am Anfang, oberhalb der kategorisierten Projekte, aufgelistet. Nur verwendet, wenn Projektkategorien aktiviert sind, was bedeutet, wenn $projects_list_group_categories wahr ist. Standardmäßig auf "" (leere Zeichenkette) gesetzt.

$prevent_xss

Wenn wahr, werden einige Gitweb-Funktionen deaktiviert, um zu verhindern, dass Inhalte in Repositories Cross-Site-Scripting (XSS)-Angriffe starten. Setzen Sie dies auf wahr, wenn Sie den Inhalt Ihrer Repositories nicht vertrauen. Standardmäßig falsch (auf 0 gesetzt).

$maxload

Wird verwendet, um die maximale Last einzustellen, bei der wir noch auf Gitweb-Anfragen reagieren. Wenn die Serverlast diesen Wert überschreitet, gibt Gitweb einen "503 Service Unavailable"-Fehler zurück. Die Serverlast wird als 0 angenommen, wenn Gitweb ihren Wert nicht ermitteln kann. Derzeit funktioniert dies nur unter Linux, wo /proc/loadavg verwendet wird; die Last dort ist die Anzahl der aktiven Aufgaben im System – tatsächlich laufende Prozesse – gemittelt über die letzte Minute.

Setzen Sie $maxload auf einen undefinierten Wert (undef), um diese Funktion auszuschalten. Der Standardwert ist 300.

$omit_age_column

Wenn wahr, wird die Spalte mit dem Datum des letzten Commits auf der Projektlistenseite weggelassen. Dies kann etwas I/O und einen Fork pro Repository einsparen.

$omit_owner

Wenn wahr, wird die Anzeige von Informationen über den Repository-Besitzer verhindert.

$per_request_config

Wenn dies auf einen Code-Referenz gesetzt ist, wird es einmal pro Anfrage ausgeführt. Sie können Teile der Konfiguration, die sich pro Sitzung ändern, auf diese Weise setzen. Zum Beispiel könnte man den folgenden Code in einer Gitweb-Konfigurationsdatei verwenden

our $per_request_config = sub {
	$ENV{GL_USER} = $cgi->remote_user || "gitweb";
};

Wenn $per_request_config keine Code-Referenz ist, wird es als boolescher Wert interpretiert. Wenn es wahr ist, verarbeitet Gitweb Konfigurationsdateien einmal pro Anfrage, und wenn es falsch ist, verarbeitet Gitweb Konfigurationsdateien nur einmal, jedes Mal, wenn es ausgeführt wird. Standardmäßig wahr (auf 1 gesetzt).

**HINWEIS**: $my_url, $my_uri und $base_url werden vor jeder Anfrage mit ihren Standardwerten überschrieben. Wenn Sie sie ändern möchten, stellen Sie sicher, dass Sie diese Variable auf wahr oder eine Code-Referenz setzen, die die gewünschten Änderungen bewirkt.

Diese Variable ist nur wichtig, wenn Sie persistente Web-Umgebungen verwenden, die mehrere Anfragen mit einer einzigen Gitweb-Instanz bedienen, wie mod_perl, FastCGI oder Plackup.

Andere Variablen

Normalerweise müssen Sie keine der unten beschriebenen Konfigurationsvariablen ändern (anpassen); sie sollten von Gitweb automatisch auf den korrekten Wert gesetzt werden.

$version

Gitweb-Version, wird beim Erstellen von gitweb.cgi aus gitweb.perl automatisch gesetzt. Möglicherweise möchten Sie sie ändern, wenn Sie ein modifiziertes Gitweb ausführen, zum Beispiel

our $version .= " with caching";

wenn Sie eine modifizierte Version von Gitweb mit Caching-Unterstützung ausführen. Diese Variable ist rein informativ und wird z.B. im "generator"-Meta-Header im HTML-Header verwendet.

$my_url
$my_uri

Vollständige URL und absolute URL des Gitweb-Skripts; in früheren Versionen von Gitweb mussten Sie diese Variablen möglicherweise setzen, aber jetzt sollte es keinen Bedarf mehr dafür geben. Siehe $per_request_config, wenn Sie sie trotzdem setzen müssen.

$base_url

Basis-URL für relative URLs in von Gitweb generierten Seiten (z.B. $logo, $favicon, @stylesheets, wenn sie relative URLs sind), benötigt und verwendet <base href="$base_url"> nur für URLs mit nicht leerem PATH_INFO. Normalerweise setzt Gitweb seinen Wert korrekt, und es besteht kein Bedarf, diese Variable zu setzen, z.B. auf $my_uri oder "/". Siehe $per_request_config, wenn Sie sie dennoch überschreiben möchten.

KONFIGURIEREN VON GITWEB-FUNKTIONEN

Viele gitweb-Funktionen können über die %feature-Hash-Tabelle aktiviert (oder deaktiviert) und konfiguriert werden. Die Namen der gitweb-Funktionen sind die Schlüssel dieser Hash-Tabelle.

Jedes %feature-Hash-Element ist eine Hash-Referenz und hat folgende Struktur

"<feature-name>" => {
	"sub" => <feature-sub-(subroutine)>,
	"override" => <allow-override-(boolean)>,
	"default" => [ <options>... ]
},

Einige Funktionen können nicht pro Projekt überschrieben werden. Für diese Funktionen hat die Struktur des entsprechenden %feature-Hash-Elements eine einfachere Form

"<feature-name>" => {
	"override" => 0,
	"default" => [ <options>... ]
},

Wie man sehen kann, fehlt das Element 'sub'.

Die Bedeutung jedes Teils der Feature-Konfiguration wird nachfolgend beschrieben

default

Liste (Array-Referenz) von Feature-Parametern (falls vorhanden), die auch zum Ein- oder Ausschalten des jeweiligen Features verwendet werden.

Beachten Sie, dass es sich derzeit **immer** um eine Array-Referenz handelt, auch wenn das Feature keine Konfigurationsparameter akzeptiert und 'default' nur zum Ein- oder Ausschalten verwendet wird. In diesem Fall schalten Sie das Feature ein, indem Sie dieses Element auf [1] setzen, und aus, indem Sie es auf [0] setzen. Siehe auch den Abschnitt über das "blame"-Feature im Abschnitt "Beispiele".

Um Features, die Parameter akzeptieren (konfigurierbar sind), zu deaktivieren, müssen Sie dieses Element auf eine leere Liste setzen, d. h. [].

override

Wenn dieses Feld einen wahren Wert hat, dann ist das jeweilige Feature überschreibbar, was bedeutet, dass es pro Repository konfiguriert (oder aktiviert/deaktiviert) werden kann.

Normalerweise ist ein gegebenes "<Feature>" über die Konfigurationsvariable gitweb.<Feature> in der Git-Konfigurationsdatei des jeweiligen Repositorys konfigurierbar.

**Hinweis**: Kein Feature ist standardmäßig überschreibbar.

sub

Internes Implementierungsdetail. Wichtig ist, dass, wenn dieses Feld nicht vorhanden ist, kein pro-Repository-Override für das jeweilige Feature unterstützt wird.

Sie müssen dies niemals in der gitweb-Konfigurationsdatei ändern.

Features in %feature

Die über die %feature-Hash-Tabelle konfigurierbaren gitweb-Funktionen sind nachfolgend aufgelistet. Dies sollte eine vollständige Liste sein, aber letztendlich ist die maßgebliche und vollständige Liste im Quellcode von gitweb.cgi enthalten, wobei die Funktionen in den Kommentaren beschrieben sind.

blame

Aktiviert die "blame"- und "blame_incremental"-Blob-Ansichten, die für jede Zeile den letzten Commit anzeigen, der sie geändert hat; siehe git-blame[1]. Dies kann sehr CPU-intensiv sein und ist daher standardmäßig deaktiviert.

Dieses Feature kann pro Repository über die Konfigurationsvariable gitweb.blame des Repositorys (boolean) konfiguriert werden.

snapshot

Aktiviert und konfiguriert die "snapshot"-Aktion, mit der der Benutzer ein komprimiertes Archiv eines beliebigen Trees oder Commits herunterladen kann, wie es von git-archive[1] erzeugt wird und möglicherweise zusätzlich komprimiert ist. Dies kann potenziell hohen Traffic erzeugen, wenn Sie ein großes Projekt haben.

Der Wert von 'default' ist eine Liste von Namen von Snapshot-Formaten, definiert in der %known_snapshot_formats-Hash-Tabelle, die Sie anbieten möchten. Unterstützte Formate sind "tgz", "tbz2", "txz" (gzip/bzip2/xz komprimiertes Tar-Archiv) und "zip"; konsultieren Sie die gitweb-Quellen für eine definitive Liste. Standardmäßig wird nur "tgz" angeboten.

Dieses Feature kann pro Repository über die Konfigurationsvariable gitweb.snapshot des Repositorys konfiguriert werden, die eine kommagetrennte Liste von Formaten oder "none" zum Deaktivieren von Snapshots enthält. Unbekannte Werte werden ignoriert.

grep

Aktiviert die grep-Suche, die die Dateien im aktuell ausgewählten Tree (Verzeichnis) auflistet, die den angegebenen String enthalten; siehe git-grep[1]. Dies kann natürlich potenziell CPU-intensiv sein. Standardmäßig aktiviert.

Dieses Feature kann pro Repository über die Konfigurationsvariable gitweb.grep des Repositorys (boolean) konfiguriert werden.

pickaxe

Aktiviert die sogenannte "Pickaxe"-Suche, die die Commits auflistet, die einen gegebenen String in einer Datei eingeführt oder entfernt haben. Dies kann eine praktische und recht schnelle Alternative zur "blame"-Aktion sein, ist aber immer noch potenziell CPU-intensiv. Standardmäßig aktiviert.

Die Pickaxe-Suche wird in git-log[1] beschrieben (die Beschreibung der Option -S<string>, die auf den Pickaxe-Eintrag in gitdiffcore[7] für weitere Details verweist).

Dieses Feature kann pro Repository konfiguriert werden, indem die Konfigurationsvariable gitweb.pickaxe des Repositorys (boolean) gesetzt wird.

show-sizes

Aktiviert die Anzeige der Größe von Blobs (gewöhnliche Dateien) in der "tree"-Ansicht in einer separaten Spalte, ähnlich wie ls -l es tut; siehe Beschreibung der Option -l in der Manpage git-ls-tree[1]. Dies kostet etwas I/O. Standardmäßig aktiviert.

Dieses Feature kann pro Repository über die Konfigurationsvariable gitweb.showSizes des Repositorys (boolean) konfiguriert werden.

patches

Aktiviert und konfiguriert die "patches"-Ansicht, die eine Liste von Commits im E-Mail-Format (Plain Text) anzeigt; siehe auch git-format-patch[1]. Der Wert ist die maximale Anzahl von Patches in einem Patchset, das in der "patches"-Ansicht generiert wird. Setzen Sie das Feld default auf eine Liste, die ein einzelnes Element enthält, oder auf eine leere Liste, um die Patch-Ansicht zu deaktivieren, oder auf eine Liste, die eine einzelne negative Zahl enthält, um jede Begrenzung zu entfernen. Der Standardwert ist 16.

Dieses Feature kann pro Repository über die Konfigurationsvariable gitweb.patches des Repositorys (Integer) konfiguriert werden.

avatar

Avatar-Unterstützung. Wenn dieses Feature aktiviert ist, zeigen Ansichten wie "shortlog" oder "commit" einen Avatar an, der mit der E-Mail jedes Committer und Autors verknüpft ist.

Aktuell verfügbare Anbieter sind **"gravatar"** und **"picon"**. Nur ein Anbieter kann gleichzeitig ausgewählt werden (default ist eine Ein-Element-Liste). Wenn ein unbekannter Anbieter angegeben wird, ist das Feature deaktiviert. **Hinweis**: Einige Anbieter erfordern möglicherweise zusätzliche Perl-Pakete; siehe gitweb/INSTALL für weitere Details.

Dieses Feature kann pro Repository über die Konfigurationsvariable gitweb.avatar des Repositorys konfiguriert werden.

Siehe auch %avatar_size mit Pixelgrößen für Icons und Avatare ("default" wird für einzeilige Ansichten wie "log" und "shortlog" verwendet, "double" wird für zweizeilige Ansichten wie "commit", "commitdiff" oder "tag" verwendet). Wenn die Standard-Schriftgrößen oder Zeilenhöhen geändert werden (z. B. durch Hinzufügen eines zusätzlichen CSS-Stylesheets in @stylesheets), kann es angebracht sein, diese Werte zu ändern.

email-privacy

E-Mail-Adressen aus dem generierten HTML usw. Inhalt entfernen. Dies verschleiert E-Mail-Adressen, die aus den Absender-/Committer- und Kommentarabschnitten des Git-Logs abgerufen werden. Es soll Web-Crawler behindern, die Adressen sammeln und missbrauchen. Solche Crawler respektieren möglicherweise robots.txt nicht. Beachten Sie, dass Benutzer und Benutzerwerkzeuge die Adressen ebenfalls als geschwärzt sehen. Wenn Gitweb nicht der letzte Schritt in einem Workflow ist, können nachfolgende Schritte aufgrund der geschwärzten Informationen, die sie erhalten, fehlschlagen. Standardmäßig deaktiviert.

highlight

Server-seitige Syntax-Highlight-Unterstützung in der "blob"-Ansicht. Dies erfordert, dass das Programm $highlight_bin verfügbar ist (siehe Beschreibung dieser Variablen im Abschnitt "Konfigurationsvariablen" oben) und ist daher standardmäßig deaktiviert.

Dieses Feature kann pro Repository über die Konfigurationsvariable gitweb.highlight des Repositorys (boolean) konfiguriert werden.

remote_heads

Aktiviert die Anzeige von Remote-Heads (Remote-Tracking-Branches) in der "heads"-Liste. In den meisten Fällen ist die Liste der Remote-Tracking-Branches ein unnötiges internes Detail, und dieses Feature ist daher standardmäßig deaktiviert. git-instaweb[1], das normalerweise zum Durchsuchen lokaler Repositories verwendet wird, aktiviert und nutzt dieses Feature.

Dieses Feature kann pro Repository über die Konfigurationsvariable gitweb.remote_heads des Repositorys (boolean) konfiguriert werden.

Die verbleibenden Features können nicht pro Projekt überschrieben werden.

Aktiviert die Textsuche, die die Commits auflistet, die Autor, Committer oder Commit-Text mit einem gegebenen String abgleichen; siehe die Beschreibung der Optionen --author, --committer und --grep in der Manpage git-log[1]. Standardmäßig aktiviert.

Projektübergreifende Überschreibung wird nicht unterstützt.

forks

Wenn dieses Feature aktiviert ist, betrachtet gitweb Projekte in Unterverzeichnissen des Projekt-Roots (Basisname) als Forks bestehender Projekte. Für jedes Projekt $projname.git werden Projekte im Verzeichnis $projname/ und seinen Unterverzeichnissen nicht in der Hauptprojektliste angezeigt. Stattdessen wird neben $projname ein '+' -Zeichen angezeigt, das zu einer "Forks"-Ansicht führt, die alle Forks (alle Projekte im Unterverzeichnis $projname/) auflistet. Zusätzlich ist eine "Forks"-Ansicht für ein Projekt von der Projekt-Zusammenfassungsseite aus verlinkt.

Wenn die Projektliste aus einer Datei stammt ($projects_list verweist auf eine Datei), werden Forks nur erkannt, wenn sie nach dem Hauptprojekt in dieser Datei aufgeführt sind.

Projektübergreifende Überschreibung wird nicht unterstützt.

actions

Fügt benutzerdefinierte Links zur Aktionsleiste aller Projektseiten ein. Dies ermöglicht es Ihnen, auf Skripte von Drittanbietern zu verlinken, die sich in gitweb integrieren.

Der Wert "default" besteht aus einer Liste von Tripeln im Format ("<Label>", "<Link>", "<Position>"), wobei "Position" das Label ist, nach dem der Link eingefügt werden soll, "Link" eine Formatzeichenkette ist, in der %n zum Projektnamen erweitert wird, %f zum Projektpfad innerhalb des Dateisystems (d. h. "$projectroot/$project"), %h zum aktuellen Hash ('h' gitweb-Parameter) und %b zum aktuellen Hash-Basis ('hb' gitweb-Parameter); %% wird zu '%' erweitert.

Zum Beispiel hat die Git-Hosting-Website https://repo.or.cz zum Zeitpunkt der Erstellung dieser Seite sie wie folgt eingestellt, um eine grafische Protokollansicht (mit dem Drittanbieter-Tool **git-browser**) zu ermöglichen

$feature{'actions'}{'default'} =
	[ ('graphiclog', '/git-browser/by-commit.html?r=%n', 'summary')];

Dies fügt einen Link mit dem Titel "graphiclog" nach dem Link "summary" ein, der zum Skript git-browser führt und r=<Projekt> als Abfrageparameter übergibt.

Projektübergreifende Überschreibung wird nicht unterstützt.

timed

Aktiviert die Anzeige, wie viel Zeit und wie viele Git-Befehle zum Generieren und Anzeigen jeder Seite im Seitenfuß (am Ende der Seite) benötigt wurden. Zum Beispiel könnte der Fuß enthalten: "Diese Seite dauerte 6,53325 Sekunden und 13 Git-Befehle zur Generierung." Standardmäßig deaktiviert.

Projektübergreifende Überschreibung wird nicht unterstützt.

javascript-timezone

Aktiviert und konfiguriert die Möglichkeit, eine gemeinsame Zeitzone für Datumsangaben in der gitweb-Ausgabe über JavaScript zu ändern. Datumsangaben in der gitweb-Ausgabe umfassen authordate und committerdate in den Ansichten "commit", "commitdiff" und "log" sowie taggerdate in der Ansicht "tag". Standardmäßig aktiviert.

Der Wert ist eine Liste von drei Werten: eine Standard-Zeitzone (für den Fall, dass der Client keine andere Zeitzone ausgewählt und in einem Cookie gespeichert hat), der Name des Cookies, in dem die ausgewählte Zeitzone gespeichert werden soll, und eine CSS-Klasse, die zur Kennzeichnung von Datumsangaben für die Manipulation verwendet wird. Wenn Sie dieses Feature deaktivieren möchten, setzen Sie "default" auf eine leere Liste: [].

Typische gitweb-Konfigurationsdateien ändern nur die Start- (Standard-) Zeitzone und lassen die anderen Elemente bei ihren Standardwerten.

$feature{'javascript-timezone'}{'default'}[0] = "utc";

Die hier präsentierte Beispielkonfiguration ist rückwärts- und vorwärtskompatibel.

Zeitzonenwerte können "local" (für die lokale Zeitzone, die der Browser verwendet), "utc" (was gitweb verwendet, wenn JavaScript oder dieses Feature deaktiviert ist) oder numerische Zeitzonen in der Form "+/-HHMM", wie z. B. "+0200" sein.

Projektübergreifende Überschreibung wird nicht unterstützt.

extra-branch-refs

Liste zusätzlicher Verzeichnisse unter "refs", die als Branch-Refs verwendet werden. Zum Beispiel, wenn Sie ein Gerrit-Setup haben, bei dem alle Branches unter refs/heads/ offiziell sind, nach Überprüfung gepusht werden und Branches unter refs/sandbox/, refs/wip und refs/other benutzerbezogen sind und die Berechtigungen viel weiter gefasst sind, dann möchten Sie diese Variable möglicherweise wie folgt setzen

$feature{'extra-branch-refs'}{'default'} =
	['sandbox', 'wip', 'other'];

Dieses Feature kann pro Repository konfiguriert werden, nachdem $feature{extra-branch-refs}{override} auf true gesetzt wurde, über die Konfigurationsvariable gitweb.extraBranchRefs des Repositorys, die eine durch Leerzeichen getrennte Liste von Refs enthält. Ein Beispiel

[gitweb]
	extraBranchRefs = sandbox wip other

gitweb.extraBranchRefs ist eigentlich eine mehrwertige Konfigurationsvariable, daher ist das folgende Beispiel ebenfalls korrekt und das Ergebnis ist dasselbe wie im obigen Ausschnitt

[gitweb]
	extraBranchRefs = sandbox
	extraBranchRefs = wip other

Es ist ein Fehler, eine Ref anzugeben, die die "git check-ref-format"-Prüfung nicht besteht. Duplizierte Werte werden gefiltert.

BEISPIELE

Um die Unterstützung für blame, pickaxe search und snapshots (mit "tar.gz" und "zip" Snapshots) zu aktivieren und gleichzeitig einzelnen Projekten zu erlauben, diese zu deaktivieren, fügen Sie Folgendes in Ihre GITWEB_CONFIG-Datei ein

$feature{'blame'}{'default'} = [1];
$feature{'blame'}{'override'} = 1;

$feature{'pickaxe'}{'default'} = [1];
$feature{'pickaxe'}{'override'} = 1;

$feature{'snapshot'}{'default'} = ['zip', 'tgz'];
$feature{'snapshot'}{'override'} = 1;

Wenn Sie das Überschreiben für das Snapshot-Feature erlauben, können Sie angeben, welche Snapshot-Formate global deaktiviert sind. Sie können auch beliebige Kommandozeilenoptionen hinzufügen (z. B. das Einstellen der Kompressionsstufe). Sie können zum Beispiel Zip-komprimierte Snapshots deaktivieren und **gzip**(1) auf Stufe 6 ausführen lassen, indem Sie die folgenden Zeilen zu Ihrer gitweb-Konfigurationsdatei hinzufügen

$known_snapshot_formats{'zip'}{'disabled'} = 1;
$known_snapshot_formats{'tgz'}{'compressor'} = ['gzip','-6'];

BUGS

Die Fehlersuche wäre einfacher, wenn die Fallback-Konfigurationsdatei (/etc/gitweb.conf) und die Umgebungsvariable zur Überschreibung ihres Speicherorts (GITWEB_CONFIG_SYSTEM) Namen hätten, die ihre "Fallback"-Rolle widerspiegeln. Die aktuellen Namen bleiben erhalten, um funktionierende Setups nicht zu unterbrechen.

UMGEBUNG

Der Speicherort von Instanz- und systemweiten Konfigurationsdateien kann mithilfe der folgenden Umgebungsvariablen überschrieben werden

GITWEB_CONFIG

Legt den Speicherort der Instanz-Konfigurationsdatei fest.

GITWEB_CONFIG_SYSTEM

Legt den Speicherort der Fallback-Systemweiten Konfigurationsdatei fest. Diese Datei wird nur gelesen, wenn die Instanz-Konfigurationsdatei nicht existiert.

GITWEB_CONFIG_COMMON

Legt den Speicherort der gemeinsamen systemweiten Konfigurationsdatei fest.

DATEIEN

gitweb_config.perl

Dies ist der Standardname der Instanz-Konfigurationsdatei. Das Format dieser Datei wird oben beschrieben.

/etc/gitweb.conf

Dies ist der Standardname der Fallback-Systemweiten Konfigurationsdatei. Diese Datei wird nur verwendet, wenn die Instanz-Konfigurationsvariable nicht gefunden wird.

/etc/gitweb-common.conf

Dies ist der Standardname der gemeinsamen systemweiten Konfigurationsdatei.

SIEHE AUCH

gitweb/README, gitweb/INSTALL

GIT

Teil der git[1] Suite