mirror of
https://github.com/hanzoai/forge.git
synced 2026-10-30 15:00:39 +00:00
The binary was gitea and admin work was `gitea admin ...`. Nothing in this fork
is Gitea, so the daemon is now `gitd`: EXECUTABLE, /app/gitd/gitd, the
/usr/local/bin/gitd wrapper, the s6 service, the CLI's own name, and the delegate
each repository's git hooks execute.
The delegate is the whole risk. Every repo on disk carries
hooks/<hook>.d/<binary> containing setting.AppPath verbatim, and the outer
hooks/<hook> runs EVERY executable in <hook>.d/ and rejects the push if any exits
non-zero. So this rename is a migration, not a rename, and it is safe only
because both halves move together:
* AppPath moves (/usr/local/bin/gitea -> /usr/local/bin/gitd), which is what
makes routers.syncAppConfForGit re-run SyncRepositoryHooks over every
repository on the first boot after the upgrade — and it runs inside
InitWebInstalled, i.e. before the listener opens, so no push can ever meet a
stale hook. `gitd admin regenerate hooks` remains the manual lever.
* createDelegateHooks now deletes legacyDelegateHookNames. Without it each repo
would keep BOTH hooks/<hook>.d/gitea and .../gitd, the stale one would exit
127, and every push would fail forever. It deletes LAST: dying midway leaves
two delegates and a loud failure, where deleting first would leave none and
silently bypass every server-side check.
* checkDelegateHooks reports a surviving legacy delegate before any other
check, so `doctor --fix` heals a repo the sync missed.
Anything OUTSIDE this repo that invokes the binary by absolute path must move in
the same change that bumps the image tag — today that is the oauth-sync init
container in hanzoai/universe, which runs /app/gitea/gitea.
Deleted rather than renamed: snap/ (published a snap literally named gitea),
contrib/service/* and contrib/fhs-compliant-script (service units for a gitea
binary we no longer build) and contrib/upgrade.sh (fetched upstream Gitea from
dl.gitea.com and installed it OVER ours). We ship one artifact, the container.
Deliberately untouched: /data/gitea, gitea.db, /var/lib/gitea, /etc/gitea. Those
are the durable volume layout of a live server, and moving them is a data
migration with nothing to do with the binary's name.
84 lines
994 B
Plaintext
84 lines
994 B
Plaintext
# Compiled Object files, Static and Dynamic libs (Shared Objects)
|
|
*.o
|
|
*.a
|
|
*.so
|
|
|
|
# Folders
|
|
_obj
|
|
_test
|
|
|
|
# IntelliJ
|
|
.idea
|
|
# Goland's output filename can not be set manually
|
|
/go_build_*
|
|
|
|
# MS VSCode
|
|
.vscode
|
|
__debug_bin*
|
|
|
|
# Architecture specific extensions/prefixes
|
|
*.[568vq]
|
|
[568vq].out
|
|
|
|
*.cgo1.go
|
|
*.cgo2.c
|
|
_cgo_defun.c
|
|
_cgo_gotypes.go
|
|
_cgo_export.*
|
|
|
|
_testmain.go
|
|
|
|
*.exe
|
|
*.test
|
|
*.prof
|
|
|
|
*coverage.out
|
|
coverage.all
|
|
cpu.out
|
|
|
|
*.db
|
|
*.log
|
|
|
|
/gitd
|
|
/debug
|
|
|
|
/bin
|
|
/dist
|
|
/custom/*
|
|
!/custom/conf
|
|
/custom/conf/*
|
|
!/custom/conf/app.example.ini
|
|
/data
|
|
/indexers
|
|
/log
|
|
/tests/integration/gitea-integration-*
|
|
/tests/*.ini
|
|
/node_modules
|
|
/yarn.lock
|
|
/yarn-error.log
|
|
/npm-debug.log*
|
|
/pnpm-debug.log*
|
|
/public/assets/js
|
|
/public/assets/css
|
|
/public/assets/fonts
|
|
/public/assets/img/avatar
|
|
/vendor
|
|
/VERSION
|
|
/.air
|
|
/.go-licenses
|
|
/Dockerfile
|
|
/Dockerfile.rootless
|
|
/.venv
|
|
|
|
# Files and folders that were previously generated
|
|
/public/assets/img/webpack
|
|
|
|
*_source.tar.bz2
|
|
.DS_Store
|
|
|
|
# Make evidence files
|
|
/.make_evidence
|
|
|
|
# Manpage
|
|
/man
|