On Sun, Dec 25, 2022 at 12:48 PM Eyal Post <eyalpost@xxxxxxxxx> wrote: > 1. I have a script which creates a git worktree and checks out a few > files from the master branch > 2. When this script runs "stand alone" - everything works fine > 3. When this script runs from a "pre-commit" hook it fails with an > error: "fatal: Unable to create '/tmp/wt-1/.git/index.lock': Not a > directory" > > The content of the script is (simplified example): > git worktree add /tmp/wt-1 master --no-checkout --detach This was previously reported[1]. Based upon a quick scan of that old email thread, I'm not sure we ever came to a final conclusion about whether Git could address this case itself[2] without breaking existing workflows or if it should be the hook's responsibility[3]. Perhaps try having your hook script unset environment variables as explained in [3], or at minimum unset GIT_INDEX_FILE. Also, perhaps this advice[4] applies and you can take a simpler, less heavyweight approach to whatever your hook is doing. [1]: https://lore.kernel.org/git/CAJFQqN+Z9eX6onaj8vVSqpvf-nOC7-Y0Un4NLUie6x6bGfmvZA@xxxxxxxxxxxxxx/ [2]: https://lore.kernel.org/git/20190517011941.GA30372@xxxxxxxxxxxxxxxxxxxxx/ [3]: https://lore.kernel.org/git/20190516221702.GA11784@xxxxxxxxxxxxxxxxxxxxx/ [4]: https://lore.kernel.org/git/CAGyf7-GtnCqfqPWVpBAELB4xAE6syn7+DfKXgfhL0UoMfvbn4A@xxxxxxxxxxxxxx/