Repository navigation
residue v0.0.3
Feedback from running 0.0.2 on an agent monorepo: a user set residue.regenerable through GIT_CONFIG_COUNT/GIT_CONFIG_KEY_<n>/GIT_CONFIG_VALUE_<n>, the environment form of git -c, and residue ignored it without a word.
- Decision: residue still ignores
residue.regenerableset through the environment (git -cand--config-env, which Git passes on asGIT_CONFIG_PARAMETERS;GIT_CONFIG_COUNTwith its pairs; the legacyGIT_CONFIG). Every subprocess and CI step inherits the environment, so it must not widen what residue deletes.--regenerableis the explicit rule for one run, and Git config files are the deliberate rule for a repository. - It no longer ignores them silently. When the environment sets the key, residue prints a note on stderr naming the values, and points at
--regenerableandgit config --add residue.regenerable. Every JSON document gainsignored_environment_rules: the ignored values, an empty list when there are none, or null when Git could not read that environment (for exampleGIT_CONFIG_COUNT=1with noGIT_CONFIG_KEY_0). Git parses the variables itself, so quoting and key case follow Git. The schemas stay at v1. residue runs no extra Git process when none of the variables is set. - Fix: 0.0.2 did not remove the legacy
GIT_CONFIGvariable. It makesgit configread one file in place of every config file, so an inheritedGIT_CONFIGreplaced the repository's own rules, and a file it named withresidue.regenerable = .envmade a worktree holding.envacandidate. residue now removesGIT_CONFIGfrom its Git commands and reports the values in that file as ignored. It has no effect on other Git commands. GIT_CONFIG_GLOBAL,GIT_CONFIG_SYSTEMandGIT_CONFIG_NOSYSTEMare unchanged and documented: they choose which config files Git reads, and residue reads the same files as your Git. A user who relocates the global config keeps itsresidue.regenerablerules, as in 0.0.2.GIT_CONFIG_NOSYSTEMskips the system file.--helpand the README say which sources count. AGENTS.md: after each release, upgrade this machine's Homebrew install.- Linux packages on every release, for x86_64 and arm64:
.debfor Debian and Ubuntu,.rpmfor Fedora and RHEL, and a pacman package for Arch and Omarchy. Each is attested and listed inSHA256SUMS. v0.0.2 has them too. packaging/aur/PKGBUILDfor theresidue-binAUR package.