From: Meet Soni <meetsoni3017@gmail.com>
To: git@vger.kernel.org
Cc: ps@pks.im, shejialuo@gmail.com, gitster@pobox.com,
Meet Soni <meetsoni3017@gmail.com>
Subject: [GSoC][PATCH v3 0/4] Add refs exists subcommand
Date: Tue, 26 Aug 2025 12:11:06 +0530 [thread overview]
Message-ID: <20250826064110.10540-1-meetsoni3017@gmail.com> (raw)
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
next prev parent reply other threads:[~2025-08-26 6:41 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-21 8:52 [GSoC][PATCH 0/2] Add refs exists subcommand Meet Soni
2025-08-21 8:52 ` [GSoC][PATCH 1/2] builtin/refs: add 'exists' subcommand Meet Soni
2025-08-21 10:21 ` Patrick Steinhardt
2025-08-21 8:52 ` [GSoC][PATCH 2/2] t: add test for git refs exists subcommand Meet Soni
2025-08-21 10:21 ` Patrick Steinhardt
2025-08-22 4:59 ` Meet Soni
2025-08-21 10:21 ` [GSoC][PATCH 0/2] Add " Patrick Steinhardt
2025-08-21 16:01 ` Junio C Hamano
2025-08-22 4:27 ` Meet Soni
2025-08-23 6:00 ` [GSoC][PATCH v2 0/4] " Meet Soni
2025-08-23 6:00 ` [GSoC][PATCH v2 1/4] builtin/refs: add 'exists' subcommand Meet Soni
2025-08-23 6:00 ` [GSoC][PATCH v2 2/4] t1403: split 'show-ref --exists' tests into a separate file Meet Soni
2025-08-23 6:00 ` [GSoC][PATCH v2 3/4] t1422: refactor tests to be shareable Meet Soni
2025-08-24 16:58 ` Patrick Steinhardt
2025-08-23 6:00 ` [GSoC][PATCH v2 4/4] t: add test for git refs exists subcommand Meet Soni
2025-08-24 16:58 ` [GSoC][PATCH v2 0/4] Add " Patrick Steinhardt
2025-08-26 6:41 ` Meet Soni [this message]
2025-08-26 6:41 ` [GSoC][PATCH v3 1/4] builtin/refs: add 'exists' subcommand Meet Soni
2025-08-26 6:41 ` [GSoC][PATCH v3 2/4] t1403: split 'show-ref --exists' tests into a separate file Meet Soni
2025-08-26 6:41 ` [GSoC][PATCH v3 3/4] t1422: refactor tests to be shareable Meet Soni
2025-08-26 6:41 ` [GSoC][PATCH v3 4/4] t: add test for git refs exists subcommand Meet Soni
2025-09-02 11:52 ` [GSoC][PATCH v3 0/4] Add " Patrick Steinhardt
2025-09-02 16:57 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250826064110.10540-1-meetsoni3017@gmail.com \
--to=meetsoni3017@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=ps@pks.im \
--cc=shejialuo@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).