Subject: [PATCH v13 0/9] set-head/fetch remote/HEAD updates

From: Bence Ferdinandy <[email-masked]>
Date: Mon, 18 Nov 2024 16:09:19 +0100

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