Skip to content

Remove special casing for PSEUDOREF updates

Han-Wen Nienhuys via GitGitGadget git 4 versions – New

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v4 Latest3 patches 0 repliesNew
  2. v33 patches 16 repliesSuperseded
  3. v23 patches 1 replySuperseded
Earlier versions · 1
VersionPostedPatchesRepliesStatus
v12 patches7 repliesSuperseded

Patches in v4 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3t1400: use git rev-parse for testing PSEUDOREF existencet/t1400-update-ref.sh+10 -100 replies
2/3Modify pseudo refs through ref backend storageDocumentation/git-update-ref.txt refs.c t/t1400-update-ref.sh +1 more+23 -1250 replies
3/3Make HEAD a PSEUDOREF rather than PER_WORKTREE.refs.c+3 -40 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v4 yet.

Read the v4 thread

Cover letter [PATCH v4 0/3] Remove special casing for PSEUDOREF updates

This gets rid of the special casing code for pseudorefs in refs.c

This is in preparation for reftable.

v4

* Address problems on case-insensitive file systems reported by Dscho.

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: 5c06d60fc55d2213c089f63c282468080f812686
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-673%2Fhanwen%2Fpseudoref-v4
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-673/hanwen/pseudoref-v4
Pull-Request: https://github.com/gitgitgadget/git/pull/673

Range-diff vs v3:

 1:  28bd3534d0 = 1:  b5274d9053 t1400: use git rev-parse for testing PSEUDOREF existence
 2:  79cd5dd480 ! 2:  ba5f1b4d26 Modify pseudo refs through ref backend storage
     @@ t/t1405-main-ref-store.sh: test_expect_success 'create_symref(FOO, refs/heads/ma
       test_expect_success 'delete_refs(FOO, refs/tags/new-tag)' '
       	git rev-parse FOO -- &&
       	git rev-parse refs/tags/new-tag -- &&
     +-	$RUN delete-refs 0 nothing FOO refs/tags/new-tag &&
      +	m=$(git rev-parse master) &&
     - 	$RUN delete-refs 0 nothing FOO refs/tags/new-tag &&
     ++	REF_NO_DEREF=1 &&
     ++	$RUN delete-refs $REF_NO_DEREF nothing FOO refs/tags/new-tag &&
     ++	test_must_fail git rev-parse --symbolic-full-name FOO &&
       	test_must_fail git rev-parse FOO -- &&
     --	test_must_fail git rev-parse refs/tags/new-tag --
     -+	test_must_fail git rev-parse refs/tags/new-tag --&&
     -+	test_must_fail git rev-parse master -- &&
     -+	git update-ref refs/heads/master $m
     + 	test_must_fail git rev-parse refs/tags/new-tag --
       '
     - 
     - test_expect_success 'rename_refs(master, new-master)' '

3: 3ab9f2f04e = 3: 358d34df07 Make HEAD a PSEUDOREF rather than PER_WORKTREE.

Signature · 1 line
gitgitgadget