Git Repositories

Handle the readonly access to git repos.
authorCyrille Pontvieux <jrd@enialis.net>
Tue, 15 Jan 2013 17:05:22 +0000 (18:05 +0100)
committerCyrille Pontvieux <jrd@enialis.net>
Tue, 15 Jan 2013 17:05:22 +0000 (18:05 +0100)
You need to run git-daemon in order to enable anonymous readonly access.

install.sh
src/index.php
src/style.css

index d2aa22c..dfa34b4 100755 (executable)
@@ -94,5 +94,12 @@ cat <<EOF > www/config.inc.php
 \$gitdir = '$GIT_DIR';
 EOF
 
-echo "Installation complete."
-echo "Please copy the www folder to your website folder."
+cat <<'EOF'
+
+** Installation complete. **"
+
+Please copy the www folder to your website folder.
+
+If you want to enable anonymous read-only on the repositories, run this:
+EOF
+echo "git daemon --listen=0.0.0.0 --reuseaddr --base-path=$GIT_DIR --user=$WEB_USER --detach $GIT_DIR"
index cb8648f..3e9f642 100644 (file)
@@ -50,7 +50,12 @@ foreach ($files as $file) {
     if ($admin) {
       $actions .= "&nbsp;<a href=\"repo-del.php?repo=$proj\">Supprimer</a>";
     }
-    echo "        <tr><td class=\"name\" title=\"$desc\">$proj</td><td class=\"address\">$gituser@$githost:$gitdir/$file</td><td class=\"member\">$membre</td><td class=\"actions\">$actions</td></tr>\n";
+    echo "        <tr><td class=\"name\" title=\"$desc\">$proj</td><td class=\"address\">";
+    echo "<div class=\"rw\">$gituser@$githost:$gitdir/$file</div>";
+    if (file_exists("$gitdir/$file/git-daemon-export-ok")) {
+      echo "<div class=\"ro\">git://$githost/$file</div>";
+    }
+    echo "</td><td class=\"member\">$membre</td><td class=\"actions\">$actions</td></tr>\n";
   }
 }
 ?>
index c37be61..274848e 100644 (file)
@@ -52,3 +52,15 @@ div.invite {
 div.invite span {
   font-weight: bold;
 }
+div.rw {
+  color: black;
+  font-weight: bold;
+}
+div.ro {
+  color: gray;
+  font-style: italic;
+  padding-left: 20px;
+}
+div.ro:after {
+  content: " (readonly)";
+}