v11: fixed leaks found by running tests after `make SANITIZE=leak` green pipeline: https://github.com/ferdinandyb/git/actions/runs/11466803523 v10: added a new patch (8/8) on top of v9 to handle HEAD in mirrored bare repositories, rest of the patches are unchanged v9: the two most notable changes are - the new patch 1/7 which address https://lore.kernel.org/git/Zw8IKyPkG0Hr6%2F5t@nand.local/, but see https://lore.kernel.org/git/D4ZAELFWJMKN.S88LJ6YK31LZ@xxxxxxxxxxxxxx/ - the refs_update_symref -> refs_update_symref_extended change in 2/7, reflecting on Phillip's comments (see https://lore.kernel.org/git/a7cb48e5-d8ba-44c1-9dbe-d1e8f8a63e3c@xxxxxxxxx/) Bence Ferdinandy (8): t/t5505-remote: set default branch to main refs: atomically record overwritten ref in update_symref remote set-head: refactor for readability remote set-head: better output for --auto refs: add TRANSACTION_CREATE_EXISTS error refs: add create_only option to refs_update_symref_extended fetch: set remote/HEAD if it does not exist fetch set_head: handle mirrored bare repositories builtin/fetch.c | 94 +++++++++++++ builtin/remote.c | 52 +++++-- refs.c | 41 +++++- refs.h | 8 +- refs/files-backend.c | 24 ++-- refs/reftable-backend.c | 6 +- t/t4207-log-decoration-colors.sh | 3 +- t/t5505-remote.sh | 83 ++++++++++- t/t5510-fetch.sh | 229 ++++++++++++++++--------------- t/t5512-ls-remote.sh | 2 + t/t5514-fetch-multiple.sh | 17 ++- t/t5516-fetch-push.sh | 3 +- t/t5527-fetch-odd-refs.sh | 3 +- t/t7900-maintenance.sh | 3 +- t/t9210-scalar.sh | 5 +- t/t9211-scalar-clone.sh | 6 +- t/t9902-completion.sh | 65 +++++++++ 17 files changed, 490 insertions(+), 154 deletions(-) -- 2.47.0.94.gb64850d498