Skip to content

Fix/audit remediation - #20

Merged
rohansen856 merged 82 commits into
masterfrom
fix/audit-remediation
Oct 2, 2026
Merged

rohansen856 merged 82 commits into
masterfrom
fix/audit-remediation

Conversation

@rohansen856

Copy link
Copy Markdown
Owner

Fixed range-editor bug: commits older than the edited range were being rebuilt even when nothing about them changed. Rebuilding drops the GPG signature, and since your commits are signed, every ancestor got a new hash. There is now one shared rewrite engine. It reuses any commit whose content and parents are unchanged, so it keeps its exact hash and signature. On a signed demo repo, editing one timestamp in the range table recreated only that commit; the 4 older commits kept their hashes.

Other main fixes:

  • Wrong preview: the preview before a full rewrite showed the dates in reverse. Previews now come from exactly the plan that gets written.
  • "Keep original timestamps" reversed history: --keep-dates (or Enter on both date prompts) now keeps every date and time zone.
  • Data loss: - non-UTF-8 messages were erased;
    • time zones were forced to +0000; - committer details, encoding headers and CRL
      All are now preserved. A new --committer keephe committer.
  • Safety: detached or empty HEADs are refused, and a branch that moves mid-run gives a clean error. Each rewrite saves the old tip to refs/git-editor/backup/. Oon the old history are listed in a warning.
  • Range table: it no longer crashes on non-ASCII names, and no longer saves its own error text into a field. q and Ctrl+C cancel, the screen is restored on exit, and l
  • URL mode:
    • SSH works through ssh-agent;
    • tokens in URLs are hidden in output;
    • a rewrite of a URL is refused unless --clons never silently thrown away.
  • Security: --docs uses a unique temp file (or --docs-out), and terminal control codes from commit content are escaped.
  • CI and release:
    • all actions pinned by commit SHA and least-privilege tokens;
    • releases check the tag against the version,ter a successful build, and include checksums;
    • CI is merged into one workflow, with an MSRV job and cargo-deny.
  • Packaging and Docker: fixed metadata, a non-rrun is now read-only.
    For LLM agents: --yes, --json (one document on --select … without menus, plain stdin readingwhen there's no terminal, exit codes 0/1/2/130, and a new AGENTS.md guide. README, CONTRIBUTING, the HTML docs and --help all describe the new behaviour.

Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
…git2

Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
…hecksums

Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
Signed-off-by: rohansen856 <rohansen856@gmail.com>
@rohansen856
rohansen856 merged commit 0ec7ead into master Oct 2, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant