Skip to content

update delete_ref(), update_ref() and ref_exists() to take a struct repository

Phillip Wood via GitGitGadget git 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest3 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3refs: update delete_ref() to take a struct repositorybuiltin/am.c builtin/branch.c builtin/notes.c +18 more+50 -420 replies
2/3refs: update update_ref() to take a struct repositorybisect.c builtin/am.c builtin/bisect--helper.c +19 more+96 -800 replies
3/3refs: update ref_exists() to take a struct repositorybranch.c branch.h builtin/bisect--helper.c +24 more+168 -1220 replies

Reviews trailers per patch

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

Read the v1 thread

Cover letter [PATCH 0/3] update delete_ref(), update_ref() and ref_exists() to take a struct repository

The code handling pseudo refs such as BISECT_HEAD or CHERRY_PICK_HEAD assumes that they are files and uses unlink() and file_exists() on the corresponding paths rather than using the ref api. In repositories using reftable to store references this will not work. This patch series is a preparatory step that updates some reference functions to take a struct repository in preparation for converting code that handles pseudo refs to the ref api. The conversion will be handled by a separate series

These patches could each be split in two (thereby making the individual patches smaller) by changing the callers to pass the_repository first and then changing the call chain to pass a struct repository around if desired.

This series is based on master - 101b3204f3 ("The third batch", 2020-06-17). When merging into pu there are non-trivial conflicts with jx/proc-receive-hook, dr/push-remoteref-fix and mr/bisect-in-c-2. I have prepared a conflict resolution [1] I'm happy to rebase on top of a merge of master and those three branches if that is helpful.

[1] tag merge-repo-refs-into-pu/v1 at https://github.com/phillipwood/git.git

Phillip Wood (3):
refs: update delete_ref() to take a struct repository
refs: update update_ref() to take a struct repository
refs: update ref_exists() to take a struct repository

 bisect.c                 | 18 ++++++----
 branch.c                 | 14 ++++----
 branch.h                 |  6 ++--
 builtin/am.c             | 19 +++++-----
 builtin/bisect--helper.c |  8 ++---
 builtin/branch.c         | 23 ++++++------
 builtin/checkout.c       | 17 +++++----
 builtin/clone.c          | 16 ++++-----
 builtin/commit.c         |  4 +--
 builtin/for-each-ref.c   |  4 +--
 builtin/log.c            |  6 ++--
 builtin/ls-remote.c      |  2 +-
 builtin/merge.c          | 12 +++----
 builtin/notes.c          | 15 ++++----
 builtin/pull.c           |  5 +--
 builtin/rebase.c         | 10 +++---
 builtin/receive-pack.c   |  2 +-
 builtin/remote.c         | 11 +++---
 builtin/replace.c        |  2 +-
 builtin/reset.c          | 10 +++---
 builtin/revert.c         |  2 +-
 builtin/send-pack.c      |  3 +-
 builtin/stash.c          |  8 ++---
 builtin/symbolic-ref.c   |  3 +-
 builtin/tag.c            |  8 ++---
 builtin/update-ref.c     |  5 +--
 builtin/verify-tag.c     |  2 +-
 builtin/worktree.c       |  8 ++---
 diff.c                   |  2 +-
 fast-import.c            |  2 +-
 notes-cache.c            |  4 +--
 notes-cache.h            |  2 +-
 notes-utils.c            |  2 +-
 ref-filter.c             | 76 +++++++++++++++++++++++++---------------
 ref-filter.h             | 11 +++---
 refs.c                   | 14 ++++----
 refs.h                   |  6 ++--
 remote.c                 | 30 +++++++++-------
 remote.h                 | 13 ++++---
 reset.c                  |  8 ++---
 sequencer.c              | 41 +++++++++++-----------
 sequencer.h              |  2 +-
 sha1-name.c              |  5 +--
 transport-helper.c       | 32 +++++++++--------
 transport-internal.h     |  4 ++-
 transport.c              | 15 ++++----
 transport.h              |  3 +-
 wt-status.c              | 41 ++++++++++++----------
 wt-status.h              |  2 +-
 49 files changed, 314 insertions(+), 244 deletions(-)

base-commit: 101b3204f37606972b40fc17dec84560c22f69f6
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-665%2Fphillipwood%2Fwip%2Frepo-refs-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-665/phillipwood/wip/repo-refs-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/665

Signature · 1 line
gitgitgadget