Skip to content

Releases: jdevera/git-this-bread

v0.3.0

02 May 17:35

Choose a tag to compare

Highlights

Per-profile SSH sub-agent for git-as

git-as <profile> now routes through its own ssh-agent loaded with only that profile's key, addressed via IdentityAgent=<sock>. The system agent is untouched — plain git push and plain ssh github.com continue to use whatever key your default agent serves. Inside git-as, only the profile's key is offered, so a colliding key on another account can no longer win the race and silently authenticate as the wrong user.

The sub-agent persists across invocations as a passphrase cache:

  • macOS: ssh-add --apple-use-keychain is passed automatically. First-ever invocation prompts; passphrase is stored in Keychain; every subsequent call (including across reboots) is silent.
  • Linux: inherits your SSH_ASKPASS chain, so gnome-keyring / ksshaskpass / etc. caches it the same way they do for the system agent.

New: git-id agent subcommand tree

git-id agent list                # alive/dead, PID, key count, socket path
git-id agent kill <profile>      # terminate (next git-as respawns)
git-id agent kill --all
git-id agent reload <profile>    # re-run ssh-add against the existing sub-agent

New profile field: usecustomagent

Default true. Set to false to opt out of the sub-agent for a specific profile — useful when your system agent is itself per-key isolated (1Password, KeePassXC, gpg-agent with destination constraints, gnome-keyring's gcr-ssh-agent).

git-id set <profile> usecustomagent false

Bug fix: env override after execve

Profile env entries appended to os.Environ() left duplicate keys in the slice handed to syscall.Exec. On macOS the kernel/libc dedup keeps the first occurrence — the parent's value — so a parent-set GIT_SSH_COMMAND or GIT_AUTHOR_EMAIL silently survived. Fixed by stripping overridden keys from the parent env before appending profile values.

Documentation

User-facing references moved out of the README:

Install / upgrade

brew upgrade jdevera/tap/git-this-bread

Compatibility

  • Existing profiles continue to work; usecustomagent defaults to true, which means the sub-agent is on by default. Single-key users won't notice anything except (on macOS) one passphrase prompt the first time, then silence forever.
  • The fallback to /tmp/gtb-<uid>/ triggers when the cache-dir socket path would exceed the ~104-byte sun_path limit (mostly relevant on macOS with deep $TMPDIR).

v0.2.1

22 Mar 17:40

Choose a tag to compare

Changelog

  • 0832461 chore(ci): add CI workflow for tests and lint on PRs and main
  • b53cee3 chore(ci): bump GitHub Actions to Node.js 24 compatible versions
  • 08d4036 chore(ci): bump golangci-lint-action to v9
  • 014cedd feat(ci): add Fedora COPR packaging

v0.2.0

18 Mar 22:45

Choose a tag to compare

Changelog

  • 84ffc96 feat(identity): add 'name' field for display name in git commits

v0.1.6

17 Mar 08:48

Choose a tag to compare

Changelog

  • 565c1ff feat: add --schema flag and fix JSON output to be struct-driven
  • 1a6c8ed fix(identity): drop --global from config reads to support [include]

v0.1.5

21 Feb 16:31

Choose a tag to compare

Changelog

  • a77ccd9 feat(gh-wtfork): cache merged/closed PRs
  • 7598572 refactor(llmadvice): consolidate cache under git-this-bread

v0.1.4

21 Feb 12:05

Choose a tag to compare

Changelog

  • 6d74502 feat(gh-wtfork): categorize forks, link PRs, add temporal context

v0.1.3

20 Feb 21:12

Choose a tag to compare

Changelog

  • b4741d7 feat: add gh-wtfork to analyze GitHub forks
  • 02de5b5 refactor(git-as,gh-as): use Cobra for consistent CLI handling

v0.1.2

19 Feb 09:10

Choose a tag to compare

Changelog

  • b2e8344 feat: add git-this-bread meta-formula with all tools

v0.1.1

18 Feb 20:35

Choose a tag to compare

Changelog

  • d6adc8b Brew formula update for git-this-bread version v0.1.0
  • 2443c0c Brew formula update for git-this-bread version v0.1.0
  • 2a40644 ci: switch to separate homebrew-tap repo for formulas

v0.1.0

18 Feb 20:10

Choose a tag to compare

Changelog

  • fecb3ff Initial commit: git-explain tool
  • ff1e204 ci: add GoReleaser and GitHub Actions release workflow
  • 679bdb5 feat(git-explain): add LLM-powered advice with caching
  • 7469dfe feat(git-explain): default to verbose for single repo, compact for multi
  • e18b3ad feat(git-explain): use lipgloss table for prettier table output
  • 0de7398 feat: add git-id, git-as, and gh-as identity management tools