Eric Sunshine <sunshine@xxxxxxxxxxxxxx> writes: >> + l=$(printf file | git hash-object -t blob -w --stdin) && >> + echo "120000 $l symlink" | >> + git update-index --index-info && > > As mentioned[1] in the review of v1, this should be written: > > echo "120000 $l symlink" | git update-index --index-info && > > [1]: https://lore.kernel.org/git/xmqqftgff1r0.fsf@xxxxxxxxxxxxxxxxxxxxxxxxx/ > >> + git commit -m master && >> + git checkout b-symlink && >> + l=$(printf file-different | git hash-object -t blob -w --stdin) && >> + echo "120000 $l symlink" | >> + git update-index --index-info && Same here. Funnily, 2/3 improves on this, but I agree that we should get it right from the get-go. >> + git commit -m b-symlink && >> + git checkout b-file && >> + echo plain-file >symlink && >> + git add symlink && >> + git commit -m b-file >> +'