git.lucas.co / gitsite
the static git browser that builds this site
git clone https://git.lucas.co/gitsite.git

commit034080eeb8cbd1e6228f693da23a7b6249617a4b
parent42c42f551d
authorLucas Galante <[email protected]>
date2026-09-11 08:24
Publish from the bare repos in ~/git rather than the work trees

Nothing in the setup could be pushed to. The cce repos' origin was
https://git.lucas.co/<name>.git, which is static dumb-http: clonable, not
pushable, because there is no receive-pack behind static hosting. So
"published" meant "the hourly timer happened to run", with no signal either
way -- the hazard this readme already names.

Each repo now has a bare upstream at ~/git/<name>.git (see
~/.local/bin/git-bare-sync.sh), so `git push` gives an immediate yes or no and
the bare repo is a second copy on disk, independent of the work tree. Pointing
repos.conf at those means the site publishes what was pushed rather than what
merely happens to be committed in a directory somewhere.

The mirrors under ~/.cache/gitsite/mirrors were repointed too: build.sh only
clones when a mirror is absent and otherwise fetches from whatever origin it
was created with, so changing this file alone would have left them pulling
from the work trees.

 repos.conf | 65 ++++++++++++++++++++++++++++++++------------------------------
 1 file changed, 34 insertions(+), 31 deletions(-)

diff --git a/repos.conf b/repos.conf
index 3fc53c6..535885a 100644
--- a/repos.conf
+++ b/repos.conf
@@ -1,34 +1,37 @@
 # name|path|description|mode
+#   path: the bare repo in ~/git -- publishing follows what was PUSHED,
+#         not merely committed. See git-bare-sync.sh.
 # mode: "clone" = browsable + clonable via dumb http, "browse" = browsable only
 # no spaces around the | separators
-website|/home/lsgalante/Dropbox/src/website|source for lucas.co|browse
-cce-authenticator|/home/lsgalante/projects/cce/cce-authenticator|login authentication (PAM + fingerprint)|clone
-cce-browser|/home/lsgalante/projects/cce/cce-browser|web browser (Servo)|clone
-cce-calendar|/home/lsgalante/projects/cce/cce-calendar|calendar|clone
-cce-cloud|/home/lsgalante/projects/cce/cce-cloud|cloud storage client|clone
-cce-color-editor|/home/lsgalante/projects/cce/cce-color-editor|color picker and palette editor|clone
-cce-compositor|/home/lsgalante/projects/cce/cce-compositor|Wayland compositor (wlroots)|clone
-cce-data-editor|/home/lsgalante/projects/cce/cce-data-editor|structured data editor|clone
-cce-designer|/home/lsgalante/projects/cce/cce-designer|graphic design tool|clone
-cce-display-manager|/home/lsgalante/projects/cce/cce-display-manager|login greeter|clone
-cce-files|/home/lsgalante/projects/cce/cce-files|file manager|clone
-cce-fonts|/home/lsgalante/projects/cce/cce-fonts|font browser|browse
-cce-graph|/home/lsgalante/projects/cce/cce-graph|node-based graph editor|clone
-cce-icons|/home/lsgalante/projects/cce/cce-icons|SVG icon set|clone
-cce-layout-interface|/home/lsgalante/projects/cce/cce-layout-interface|page layout tool|clone
-cce-mail|/home/lsgalante/projects/cce/cce-mail|mail client (IMAP/SMTP)|clone
-cce-grid|/home/lsgalante/projects/cce/cce-grid|desktop grid client|clone
-cce-map|/home/lsgalante/projects/cce/cce-map|map viewer|clone
-cce-notifier|/home/lsgalante/projects/cce/cce-notifier|notification daemon|clone
-cce-preview|/home/lsgalante/projects/cce/cce-preview|document and image viewer|clone
-cce-remote|/home/lsgalante/projects/cce/cce-remote|remote trackpad and keyboard server|clone
-cce-screenaver|/home/lsgalante/projects/cce/cce-screenaver|screensaver|clone
-cce-secrets|/home/lsgalante/projects/cce/cce-secrets|secrets manager|clone
-cce-status-interface|/home/lsgalante/projects/cce/cce-status-interface|status bar|clone
-cce-system-interface|/home/lsgalante/projects/cce/cce-system-interface|system settings|clone
-cce-terminal|/home/lsgalante/projects/cce/cce-terminal|terminal emulator|clone
-cce-test-interface|/home/lsgalante/projects/cce/cce-test-interface|integration test suite|browse
-cce-text-editor|/home/lsgalante/projects/cce/cce-text-editor|text editor|clone
-cce-ui|/home/lsgalante/projects/cce/cce-ui|GPU-accelerated UI toolkit (Vulkan)|clone
-cce-window-manager|/home/lsgalante/projects/cce/cce-window-manager|window management library|clone
-clear-typeface|/home/lsgalante/projects/cce/clear-typeface|typeface (empty for now)|clone
+website|/home/lsgalante/git/website.git|source for lucas.co|browse
+cce-authenticator|/home/lsgalante/git/cce-authenticator.git|login authentication (PAM + fingerprint)|clone
+cce-browser|/home/lsgalante/git/cce-browser.git|web browser (Servo)|clone
+cce-calendar|/home/lsgalante/git/cce-calendar.git|calendar|clone
+cce-cloud|/home/lsgalante/git/cce-cloud.git|cloud storage client|clone
+cce-color-editor|/home/lsgalante/git/cce-color-editor.git|color picker and palette editor|clone
+cce-compositor|/home/lsgalante/git/cce-compositor.git|Wayland compositor (wlroots)|clone
+cce-data-editor|/home/lsgalante/git/cce-data-editor.git|structured data editor|clone
+cce-designer|/home/lsgalante/git/cce-designer.git|graphic design tool|clone
+cce-display-manager|/home/lsgalante/git/cce-display-manager.git|login greeter|clone
+cce-files|/home/lsgalante/git/cce-files.git|file manager|clone
+cce-fonts|/home/lsgalante/git/cce-fonts.git|font browser|browse
+cce-graph|/home/lsgalante/git/cce-graph.git|node-based graph editor|clone
+cce-icons|/home/lsgalante/git/cce-icons.git|SVG icon set|clone
+cce-layout-interface|/home/lsgalante/git/cce-layout-interface.git|page layout tool|clone
+cce-mail|/home/lsgalante/git/cce-mail.git|mail client (IMAP/SMTP)|clone
+cce-grid|/home/lsgalante/git/cce-grid.git|desktop grid client|clone
+cce-map|/home/lsgalante/git/cce-map.git|map viewer|clone
+cce-notifier|/home/lsgalante/git/cce-notifier.git|notification daemon|clone
+cce-preview|/home/lsgalante/git/cce-preview.git|document and image viewer|clone
+cce-remote|/home/lsgalante/git/cce-remote.git|remote trackpad and keyboard server|clone
+cce-screenaver|/home/lsgalante/git/cce-screenaver.git|screensaver|clone
+cce-secrets|/home/lsgalante/git/cce-secrets.git|secrets manager|clone
+cce-status-interface|/home/lsgalante/git/cce-status-interface.git|status bar|clone
+cce-system-interface|/home/lsgalante/git/cce-system-interface.git|system settings|clone
+cce-terminal|/home/lsgalante/git/cce-terminal.git|terminal emulator|clone
+cce-gallery|/home/lsgalante/git/cce-gallery.git|widget gallery and compositor test bench|browse
+cce-text-editor|/home/lsgalante/git/cce-text-editor.git|text editor|clone
+cce-ui|/home/lsgalante/git/cce-ui.git|GPU-accelerated UI toolkit (Vulkan)|clone
+cce-window-manager|/home/lsgalante/git/cce-window-manager.git|window management library|clone
+clear-typeface|/home/lsgalante/git/clear-typeface.git|typeface (empty for now)|clone
+cce-list|/home/lsgalante/git/cce-list.git|things-to-remember checklist|clone