This gets rid of the special casing code for pseudorefs in refs.c This is in preparation for reftable. v3 * tweak git-update-ref.txt description for logAllRefUpdates Han-Wen Nienhuys (3): t1400: use git rev-parse for testing PSEUDOREF existence Modify pseudo refs through ref backend storage Make HEAD a PSEUDOREF rather than PER_WORKTREE. Documentation/git-update-ref.txt | 13 ++-- refs.c | 127 +++---------------------------- t/t1400-update-ref.sh | 30 ++++---- t/t1405-main-ref-store.sh | 5 +- 4 files changed, 36 insertions(+), 139 deletions(-) base-commit: b6a658bd00c9c29e07f833cabfc0ef12224e277a Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-673%2Fhanwen%2Fpseudoref-v3 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-673/hanwen/pseudoref-v3 Pull-Request: https://github.com/gitgitgadget/git/pull/673 Range-diff vs v2: 1: 9c3dc4b2cb = 1: 28bd3534d0 t1400: use git rev-parse for testing PSEUDOREF existence 2: 871b411517 ! 2: 79cd5dd480 Modify pseudo refs through ref backend storage @@ Commit message Signed-off-by: Han-Wen Nienhuys <hanwen@xxxxxxxxxx> + ## Documentation/git-update-ref.txt ## +@@ Documentation/git-update-ref.txt: still see a subset of the modifications. + + LOGGING UPDATES + --------------- +-If config parameter "core.logAllRefUpdates" is true and the ref is one under +-"refs/heads/", "refs/remotes/", "refs/notes/", or the symbolic ref HEAD; or +-the file "$GIT_DIR/logs/<ref>" exists then `git update-ref` will append +-a line to the log file "$GIT_DIR/logs/<ref>" (dereferencing all +-symbolic refs before creating the log name) describing the change +-in ref value. Log lines are formatted as: ++If config parameter "core.logAllRefUpdates" is true and the ref is one ++under "refs/heads/", "refs/remotes/", "refs/notes/", or a pseudoref ++like HEAD or ORIG_HEAD; or the file "$GIT_DIR/logs/<ref>" exists then ++`git update-ref` will append a line to the log file ++"$GIT_DIR/logs/<ref>" (dereferencing all symbolic refs before creating ++the log name) describing the change in ref value. Log lines are ++formatted as: + + oldsha1 SP newsha1 SP committer LF + + ## refs.c ## @@ refs.c: long get_files_ref_lock_timeout_ms(void) return timeout_ms; 3: 1c2b9d5f17 = 3: 3ab9f2f04e Make HEAD a PSEUDOREF rather than PER_WORKTREE. -- gitgitgadget