From: Brigham Campbell <me@brighamcampbell.com>
To: git@vger.kernel.org
Cc: Brigham Campbell <me@brighamcampbell.com>,
Junio C Hamano <gitster@pobox.com>,
Patrick Steinhardt <ps@pks.im>
Subject: [PATCH v4] git-contacts: allow inputting patch via stdin
Date: Fri, 25 Sep 2026 00:42:39 -0600 [thread overview]
Message-ID: <20260925-git-contacts-stdin-v4-1-9b4e4bcbb91c@brighamcampbell.com> (raw)
In-Reply-To: <20260914-git-contacts-stdin-v1-1-9ac628e6fd20@brighamcampbell.com>
Make git-contacts accept patch contents via stdin for better
interoperability with other utilities. Read from stdin when the user
passes `-` at least once:
$ git contacts - <patch
Signed-off-by: Brigham Campbell <me@brighamcampbell.com>
---
Junio, you suggested that I make git-contacts process files and stdin
with respect to the order in which they appear in argv. I instead
removed the implication that git-contacts processes input in any
particular order.
Even before this patch, git-contacts parses files first, then git
rev-lists second, regardless of their order in argv. If we instead want
git-contacts to parse arguments in the same order that they're passed,
that's a change which should occur in a separate patch.
I'm happy to write that patch if you'd like.
---
Changes in v4:
- Don't imply that git-contacts processes input in any particular order
- Link to v3: https://patch.msgid.link/20260923-git-contacts-stdin-v3-1-56dd43c64d56@brighamcampbell.com
Changes in v3:
- Make user pass '-' instead of an empty argv and non-TTY stdin
- Link to v2: https://patch.msgid.link/20260915-git-contacts-stdin-v2-1-2005061d907a@brighamcampbell.com
Changes in v2:
- Minor variable cleanup / un-spaghettification
- Include update to usage comment
- Remove Cc trailers from commit message
- Link to v1: https://patch.msgid.link/20260914-git-contacts-stdin-v1-1-9ac628e6fd20@brighamcampbell.com
To: git@vger.kernel.org
Cc: Junio C Hamano <gitster@pobox.com>
Cc: Patrick Steinhardt <ps@pks.im>
---
contrib/contacts/git-contacts | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/contrib/contacts/git-contacts b/contrib/contacts/git-contacts
index 85ad732fc0..df7b920d9e 100755
--- a/contrib/contacts/git-contacts
+++ b/contrib/contacts/git-contacts
@@ -162,9 +162,11 @@ if (!@ARGV) {
die "No input revisions or patch files\n";
}
-my (@files, @rev_args);
+my ($read_from_stdin, @files, @rev_args);
for (@ARGV) {
- if (-e) {
+ if ($_ eq '-') {
+ $read_from_stdin = 1;
+ } elsif (-e) {
push @files, $_;
} else {
push @rev_args, $_;
@@ -172,6 +174,9 @@ for (@ARGV) {
}
my %sources;
+if ($read_from_stdin) {
+ scan_patches(\%sources, undef, \*STDIN);
+}
for (@files) {
scan_patch_file(\%sources, $_);
}
---
base-commit: 0f8e75abebff0877cae681a3d5ff31ac47f54220
change-id: 20260914-git-contacts-stdin-1e829930e19b
Thanks!
--
Brigham Campbell
https://brighamcampbell.com
next prev parent reply other threads:[~2026-09-25 6:44 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-15 2:43 [PATCH] git-contacts: allow inputting patch via stdin Brigham Campbell
2026-09-15 4:29 ` Junio C Hamano
2026-09-16 4:52 ` [PATCH v2] " Brigham Campbell
2026-09-16 14:25 ` Junio C Hamano
2026-09-17 6:56 ` Brigham Campbell
2026-09-24 1:25 ` [PATCH v3] " Brigham Campbell
2026-09-24 4:13 ` Junio C Hamano
2026-09-25 1:51 ` Brigham Campbell
2026-09-25 4:38 ` Junio C Hamano
2026-09-25 6:42 ` Brigham Campbell [this message]
2026-09-25 16:09 ` [PATCH v4] " Junio C Hamano
2026-09-29 5:47 ` [PATCH v5 0/2] " Brigham Campbell
2026-09-29 5:47 ` [PATCH v5 1/2] " Brigham Campbell
2026-09-29 19:29 ` Junio C Hamano
2026-10-02 4:44 ` Brigham Campbell
2026-09-29 5:47 ` [PATCH v5 2/2] git-contacts: add stdin functionality to docs Brigham Campbell
2026-09-29 16:30 ` [PATCH v5 0/2] git-contacts: allow inputting patch via stdin Junio C Hamano
2026-10-02 6:50 ` [PATCH v6] " Brigham Campbell
2026-10-02 14:50 ` 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=20260925-git-contacts-stdin-v4-1-9b4e4bcbb91c@brighamcampbell.com \
--to=me@brighamcampbell.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=ps@pks.im \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.