Skip repository hooks during filtered bundle synthesis - #50898
Conversation
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
/matt |
|
✅ PR Code Quality Reviewer completed the code quality review. |
There was a problem hiding this comment.
Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.
Note
This error may be related to your runner configuration. You can now configure runners for Copilot code review separately from Copilot cloud agent by creating a copilot-code-review.yml file with your setup steps. Read the docs for details.
|
/matt |
Configure an explicit hooks path and cover both checkout and apply-patch hooks during filtered bundle synthesis. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 8b1aefe0-3e9e-499c-9774-09013c02c74a
|
/matt |
1 similar comment
|
/matt |
|
@copilot Please refresh this PR branch if needed and run the
|
|
@copilot add git integration test |
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Added a |
|
@copilot The latest request was addressed, but this PR still needs follow-through. Please refresh the branch if needed and run the
|
|
🎉 This pull request is included in a new release. Release: |
Filtered bundle generation applies the patch in a temporary detached worktree, which invokes repository
post-checkout(and apply-patch) hooks. In a Git LFS repository withoutgit-lfson PATH,git worktree addfails withThis repository is configured for Git LFS but 'git-lfs' was not found on your path, and the handler surfaces this asBranch ... does not exist locallyeven though the branch and its patch are valid.Changes
actions/setup/js/generate_git_bundle.cjs: allocate an empty temporary hooks directory and run the internalgit worktree add,git am --3way, andgit worktree removewith-c core.hooksPath=<empty-dir>; remove the directory alongside the worktree infinally.actions/setup/js/generate_git_bundle.test.cjs: regression test against real Git that installs apost-checkouthook exiting 2 and requires incremental filtered bundle generation to succeed.Only these internal synthesis operations bypass hooks; user-facing checkout/commit paths are untouched.