aboutsummaryrefslogtreecommitdiffstats
path: root/config.toml.example
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-06-29 18:42:35 +0200
committerDanilo M. <danix@danix.xyz>2026-06-29 18:42:35 +0200
commit8fe39342512aca391ea9534e1cec8bc4b805f100 (patch)
tree9c0f5678bb9a84c45fb059f4a2e35d9aa62e0305 /config.toml.example
parent815b655a659a2160a812291ad72676a0e41de1db (diff)
downloadgitctl-8fe39342512aca391ea9534e1cec8bc4b805f100.tar.gz
gitctl-8fe39342512aca391ea9534e1cec8bc4b805f100.zip
fix: repo create recovers from a crashed/interrupted run
Phase 1 was driven by text presence: stanza_exists read the working gitolite.conf, so a run that died at the y/N prompt (EOFError with no TTY) left the stanza uncommitted, and the next run reported "already present", skipped the commit+push, then timed out waiting for a bare repo gitolite was never told to build. Drive Phase 1 by git state instead: ensure the stanza is in the working file (idempotent), commit it if the working tree differs from HEAD, and push if HEAD is ahead of upstream. This recovers both a leftover uncommitted edit and a committed-but-unpushed stanza, and is a no-op when already in sync. Confirm now happens before the commit, and abort reverts to HEAD. Self-test pins the three git states with a throwaway repo and bare upstream. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Diffstat (limited to 'config.toml.example')
0 files changed, 0 insertions, 0 deletions