git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[GSoC][PATCH v3 0/4] Add refs exists subcommand

From
Meet Soni <meetsoni3017@gmail.com>
Date
Aug 26, 2025, 06:41 UTC
Message-ID
<20250826064110.10540-1-meetsoni3017@gmail.com>
In-Reply-To
<20250823060012.540433-1-meetsoni3017@gmail.com>

This series introduces `git refs exists` as a modern replacement for `git show-ref --exists`, continuing the effort to consolidate commands under the `git refs` namespace.

changes in v3:
 - Reverted commit message.
 - nit: added empty line.
Meet Soni (4):
  builtin/refs: add 'exists' subcommand
  t1403: split 'show-ref --exists' tests into a separate file
  t1422: refactor tests to be shareable
  t: add test for git refs exists subcommand
 Documentation/git-refs.adoc |  7 ++++
 builtin/refs.c              | 48 +++++++++++++++++++++++
 t/meson.build               |  4 +-
 t/show-ref-exists-tests.sh  | 77 +++++++++++++++++++++++++++++++++++++
 t/t1403-show-ref.sh         | 65 -------------------------------
 t/t1422-show-ref-exists.sh  |  9 +++++
 t/t1462-refs-exists.sh      | 10 +++++
 7 files changed, 154 insertions(+), 66 deletions(-)
 create mode 100644 t/show-ref-exists-tests.sh
 create mode 100755 t/t1422-show-ref-exists.sh
 create mode 100755 t/t1462-refs-exists.sh
Range-diff against v2:
 1:  19623eb97e <  -:  ---------- doc: factor out common option
 2:  69c207dc45 <  -:  ---------- builtin/for-each-ref: align usage string with the man page
 3:  6eeb1c070a <  -:  ---------- builtin/for-each-ref: factor out core logic into a helper
 4:  eecccfe98b <  -:  ---------- builtin/refs: add list subcommand
 5:  aa91c5c570 <  -:  ---------- t6300: refactor tests to be shareable
 6:  fed66d91c0 <  -:  ---------- t: add test for git refs list subcommand
 7:  b55e6d36eb <  -:  ---------- diff: ensure consistent diff behavior with ignore options
 8:  e1d3d61a45 <  -:  ---------- diff: --no-index should ignore the worktree
 9:  621ce9c1c6 <  -:  ---------- git-jump: make `diff` work with filenames containing spaces
10:  9a49aef8dc <  -:  ---------- environment: remove the global variable 'merge_log_config'
11:  22d421fed9 <  -:  ---------- builtin/fmt-merge-msg: stop depending on 'the_repository'
12:  741f36c7d9 <  -:  ---------- docs: remove stray bracket from git-clone synopsis
13:  1fa68948c3 <  -:  ---------- The second batch
14:  d1fa4e927e !  1:  0c9349fa74 builtin/refs: add 'exists' subcommand
    @@ Commit message
         builtin/refs: add 'exists' subcommand
     
         As part of the ongoing effort to consolidate reference handling,
    -    introduce `exists` subcommand. This command provides the same
    +    introduce a new `exists` subcommand. This command provides the same
         functionality and exit-code behavior as `git show-ref --exists`, serving
         as its modern replacement.
     
    @@ Commit message
         `git refs list`, where sharing the larger implementation of
         `for-each-ref` was necessary.
     
    -    Documentation for this subcommand is also added to the `git-refs(1)`
    +    Documentation for the new subcommand is also added to the `git-refs(1)`
         man page.
     
         Mentored-by: Patrick Steinhardt <ps@pks.im>
15:  f1dfafe6c9 =  2:  d32067af55 t1403: split 'show-ref --exists' tests into a separate file
16:  a2a65c428c !  3:  fb7223ad07 t1422: refactor tests to be shareable
    @@ Commit message
      ## t/show-ref-exists-tests.sh (new) ##
     @@
     +git_show_ref_exists=${git_show_ref_exists:-git show-ref --exists}
    ++
     +test_expect_success setup '
     +	test_commit --annotate A &&
     +	git checkout -b side &&
17:  e92da499b5 =  4:  75b5ee4ede t: add test for git refs exists subcommand
-- 
2.34.1
Previous: Patrick SteinhardtNext: Meet Soni
Message 17 of 23 in “Add refs exists subcommand”
  1. Meet SoniAug 21, 2025
  2. [GSoC][PATCH 1/2] builtin/refs: add 'exists' subcommandMeet Soni, Aug 21, 2025
  3. Patrick SteinhardtAug 21, 2025
  4. [GSoC][PATCH 2/2] t: add test for git refs exists subcommandMeet Soni, Aug 21, 2025
  5. Patrick SteinhardtAug 21, 2025
  6. Meet SoniAug 22, 2025
  7. Patrick SteinhardtAug 21, 2025
  8. Junio C HamanoAug 21, 2025
  9. Meet SoniAug 22, 2025
  10. [GSoC][PATCH v2 0/4] Add refs exists subcommandMeet Soni, Aug 23, 2025
  11. [GSoC][PATCH v2 1/4] builtin/refs: add 'exists' subcommandMeet Soni, Aug 23, 2025
  12. [GSoC][PATCH v2 2/4] t1403: split 'show-ref --exists' tests into a separate fileMeet Soni, Aug 23, 2025
  13. [GSoC][PATCH v2 3/4] t1422: refactor tests to be shareableMeet Soni, Aug 23, 2025
  14. Patrick SteinhardtAug 24, 2025
  15. [GSoC][PATCH v2 4/4] t: add test for git refs exists subcommandMeet Soni, Aug 23, 2025
  16. Patrick SteinhardtAug 24, 2025
  17. [GSoC][PATCH v3 0/4] Add refs exists subcommandMeet Soni, Aug 26, 2025
  18. [GSoC][PATCH v3 1/4] builtin/refs: add 'exists' subcommandMeet Soni, Aug 26, 2025
  19. [GSoC][PATCH v3 2/4] t1403: split 'show-ref --exists' tests into a separate fileMeet Soni, Aug 26, 2025
  20. [GSoC][PATCH v3 3/4] t1422: refactor tests to be shareableMeet Soni, Aug 26, 2025
  21. [GSoC][PATCH v3 4/4] t: add test for git refs exists subcommandMeet Soni, Aug 26, 2025
  22. Patrick SteinhardtSep 2, 2025
  23. Junio C HamanoSep 2, 2025

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.