This iteration handles the special case when the previous HEAD was detached. This case is now specifically printed by both remote set-head -a and fetch. There were also some small cleanups in commit messages and unintended formattings. Although the patches themselves are versioned: - 2/9 is completely new (the above uncovered a discrepancy between backends) - 3/9 had smaller changes to accomodate this - 5/9 and 8/9 needed more substantial changes Bence Ferdinandy (9): t/t5505-remote: set default branch to main refs: standardize output of refs_read_symbolic_ref 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 | 105 +++++++++++++++++++++++++++++++ builtin/remote.c | 72 +++++++++++++++------ refs.c | 49 ++++++++++++--- refs.h | 14 ++++- refs/files-backend.c | 31 +++++---- refs/refs-internal.h | 6 ++ refs/reftable-backend.c | 10 ++- t/t4207-log-decoration-colors.sh | 3 +- t/t5505-remote.sh | 95 ++++++++++++++++++++++++++-- t/t5510-fetch.sh | 24 +++++++ 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 +++++++++++++++++++ 18 files changed, 455 insertions(+), 58 deletions(-) -- 2.47.0.296.gda1ecfef29.dirty