Repository navigation
chore: rebase TigerEye fork onto upstream v2.11.1 - #4
Conversation
…oderabbitai#182) git worktree prune skips locked entries by design, so a locked worktree whose directory was deleted (e.g. a crashed agent session) lingers in the registry and keeps its branch checked out. clean now detects this, offers to unlock and prune (auto-confirmed by --force/--yes, previewed by --dry-run), and prints the manual recovery command when declined.
* feat(clean): support closed PR cleanup Assisted-by: pi:gpt-5.5 Co-authored-by: chatgpt-codex-connector[bot] <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> * fix(clean): address closed cleanup review nits Assisted-by: pi:gpt-5.5 Co-authored-by: chatgpt-codex-connector[bot] <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> * fix(clean): match GitLab head_sha fallback Assisted-by: pi:gpt-5.5 Co-authored-by: chatgpt-codex-connector[bot] <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> --------- Co-authored-by: chatgpt-codex-connector[bot] <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com>
…#184) * Replace Homebrew bump action with direct formula update * Allow manual formula bump via workflow_dispatch
* Fix rm exit status on removal failures * Test public rm failure status
* fix(copy): bound includeDirs discovery * test(copy): allow filesystem result order * fix(copy): preserve basename fallback
* feat: inherit sparse-checkout in new worktrees When creating a new worktree from one with sparse-checkout enabled, the new worktree inherits the cone pattern automatically. Controlled by gtr.sparse.inherit config (default on) and --sparse/--no-sparse flags. Adds reusable helpers for sparse-checkout replication. * fix(sparse): address CodeRabbit review feedback on sparse-checkout inheritance - Preserve slash-separated branch paths in _worktree_path_for_ref - Allow fallback to top-level worktree when matching worktree is not sparse - Add Git 2.25+ guard for sparse-checkout support with full checkout fallback - Fix non-cone mode to use init --no-cone (git defaults to cone mode) - Improve error handling: failed sparse inheritance now falls back to full checkout and hard-errors if that fails, instead of leaving --no-checkout worktree empty - Add tests for slash refs, non-cone inheritance, and sparse config precedence * fix: harden sparse-checkout inheritance * fix: support pre-2.20 config lookup * fix: align sparse sources with git refs --------- Co-authored-by: Tom Elizaga <tom.elizaga@gmail.com>
* feat: add pull request worktree command Assisted-by: pi:gpt-5.5 Co-authored-by: chatgpt-codex-connector[bot] <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> * fix: make pr worktrees gh-aware Assisted-by: pi:gpt-5.5 Co-authored-by: chatgpt-codex-connector[bot] <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> * fix: harden pr worktree checkout Assisted-by: pi:gpt-5.5 Co-authored-by: chatgpt-codex-connector[bot] <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> * fix: address pr review feedback Assisted-by: pi:gpt-5.5 Co-authored-by: chatgpt-codex-connector[bot] <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> --------- Co-authored-by: chatgpt-codex-connector[bot] <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Co-authored-by: Tom Elizaga <tom.elizaga@gmail.com>
* Run CI on fork pull requests * fix(ci): minimize fork pull request permissions
…#192) Adds stable porcelain output and hook disposition reporting for shell-native agent integrations, with tests and documentation.
* Refresh editor and AI adapter guidance * Address PR review: mark legacy adapter rows
ci: use preinstalled ShellCheck
The repository has a CODEOWNERS entry but nothing in the README identifies who maintains the project, so anyone landing on it has to check the contributors graph to find out. Also links the contributor list, since much of the adapter, platform and shell-integration surface came from outside contributions.
…i#199) bin/git-gtr installed an ERR trap when GTR_DEBUG was set but ran under 'set -e' alone. An ERR trap is inherited by functions, command substitutions and subshells only under 'set -E', and every command runs inside main() and a cmd_* handler, so the trap never fired. Switch the option line to 'set -eE'. With no ERR trap installed the option has no effect, so the default path is unchanged. Adds tests/debug_trap.bats covering the function and subshell contexts, plus silence on success, on a handled error path, and when GTR_DEBUG is unset.
…11 (coderabbitai#197) Brings AGENTS.md, CLAUDE.md, README and the docs/ pages in line with what shipped in v2.9 through v2.11. Fixes two errors: AGENTS.md pointed at a nonexistent adapters/ai/Codex.sh, and docs/troubleshooting.md told users to run 'bash -x git gtr', which cannot work because git is a binary. The architecture diagram there also had bin/git-gtr and bin/gtr the wrong way round. Adds --sparse/--no-sparse to the README, the missing GTR_* fallback variables and the direct-read variables to docs/configuration.md, and a side-effect section to docs/agent-usage.md. AGENTS.md and CLAUDE.md now cover pr, trust, clean --closed, sparse inheritance, postCd dispatch and the current test layout.
…the current layout (coderabbitai#198) The Copilot instructions predated the lib/ modularization: they described bin/gtr as a 961-line monolith with an 'open' command, cmd_* functions inside bin/gtr, six lib files, and GTR_VERSION on line 8. Rewritten as a condensed guide matching bin/git-gtr, the ten lib modules plus 18 command files, the adapter registry, pr/trust/cd handling, the --porcelain contract and the CI gates. The per-pattern instruction files and CONTRIBUTING.md told contributors to hand-edit the three completion files, which are generated by scripts/generate-completions.sh and verified by CI. Every such place now says to edit the source and regenerate. Also corrects four claims an independent verification pass disproved: the GTR_DEBUG behavior, the postCd dispatch paths, what 'git gtr completion zsh' prints, and the cmd_<command> dispatch rule.
…coderabbitai#200) setup_integration_repo took its path straight from mktemp -d, which on macOS returns /var/folders/... while /var is a symlink to /private/var. git canonicalizes when it registers a worktree, so the preRemove hook received the /private/var spelling and 'cmd_clean --merged uses nested registered worktree path' compared it against the /var one. This is the test's expectation being wrong rather than a product bug: passing a /var path to 'git worktree add' makes git itself register the resolved one. Resolving the path once in the helper fixes it for every integration test. Linux is unaffected, since mktemp -d returns /tmp with no symlink, which is why CI stayed green. Local suite now passes 561/561, previously 560/561.
(cherry picked from commit 26ceb92)
Bead: TE-7sebjb (cherry picked from commit 11a06a8)
|
Touches .github/workflows/homebrew.yml, which attribution may NOT clear (secrets and workflow definitions keep a human in the loop) and carries no bead reference. Add the label |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7cb48558cf
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| fi | ||
| fi | ||
|
|
||
| if ! worktree_path=$(create_worktree "$base_dir" "$prefix" "$branch_name" "FETCH_HEAD" "$track_mode" "1" "$force" "$custom_name" "$folder_override" "$remote"); then |
There was a problem hiding this comment.
Honor the sparse-checkout policy in PR fallback checkout
When the compatibility path runs on Git 2.36+ from a sparse current worktree—such as whenever --remote is supplied—this call uses ordinary git worktree add, so Git silently copies the caller's sparse settings. Consequently git gtr pr can produce an incomplete checkout even when gtr.sparse.inherit=false, and unlike new it offers no --no-sparse escape hatch; pass the appropriate deferred/full-checkout settings or explicitly normalize the result.
AGENTS.md reference: AGENTS.md:L125-L125
Useful? React with 👍 / 👎.
| if command -v shasum >/dev/null 2>&1; then | ||
| hasher=(shasum -a 256) | ||
| elif command -v sha256sum >/dev/null 2>&1; then | ||
| hasher=(sha256sum) |
There was a problem hiding this comment.
Extend the hash fallback to generated shell integration
On systems that provide sha256sum but not shasum, this new fallback allows git gtr trust to create a marker, but _init_emit_posix_trust_helpers in lib/commands/init.sh still hard-codes shasum -a 256. The generated gtr cd integration therefore cannot reproduce the marker hash and keeps treating trusted .gtrconfig postCd hooks as untrusted; generate the same portable hashing logic in the shell helpers.
Useful? React with 👍 / 👎.
…1.1: upstream v2.11.1 + TigerEye patches; tigereye/main's own divergent doc content predates upstream's later doc refresh)
Rebases TigerEye-Enterprise/git-worktree-runner main onto upstream
coderabbitai/git-worktree-runner v2.11.1 (+1, PR coderabbitai#200's test-path fix),
replaying our two real divergences on top instead of merging:
.gitattributes(eol=lf normalization for Windows checkouts) — kept as-is,no upstream equivalent.
fix: make trust hashing portable and fail closed (#3)(TE-7sebjb) — cherry-pickedclean, no conflicts.
One divergence was dropped rather than replayed: our old
agy→antigravityeditor-adapter rename and the
kiloAI-adapter registry entry both came fromchore: normalize Windows shell execution for TigerEye. Upstream has sincerenamed the antigravity command again (now
agy-ide) — took upstream'scurrent value instead of re-applying our stale rename. The
kiloentry isdropped per
SO-KILO-LANE-DELINEATION-001(Kilo Code CLI is de-authorizedas an agent-CLI dispatch target; the Kilo inference gateway is unaffected
and this repo never touched it).
Net: upstream v2.11.1 unchanged, our real patches preserved, no stale/
prohibited content carried forward.
shellcheckclean on all touched files;batsnot available in this session's Bash sandbox (MSYS2/Windows), CI runsthe suite.
Once merged,
tools/gtrsubmodule pin bumps in a separate TigerEye_Enterprise PR.🤖 Generated with Claude Code