Git development
 help / color / mirror / Atom feed
From: Brigham Campbell <me@brighamcampbell.com>
To: git@vger.kernel.org
Cc: Junio C Hamano <gitster@pobox.com>,
	Patrick Steinhardt <ps@pks.im>,
	 Brigham Campbell <me@brighamcampbell.com>
Subject: [PATCH v3] git-contacts: allow inputting patch via stdin
Date: Wed, 23 Sep 2026 19:25:30 -0600	[thread overview]
Message-ID: <20260923-git-contacts-stdin-v3-1-56dd43c64d56@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
$ git contacts patch1 - patch3 <patch2

Signed-off-by: Brigham Campbell <me@brighamcampbell.com>
---
This patch is motivated by an ongoing personal effort to allow b4 to
invoke git-contacts automatically.

This latest revision requires the user to pass '-' instead of implicitly
reading from stdin when stdin is not a tty and argv is empty. This
simplifies the change slightly and allows for input via files,
revisions, and stdin in a single invocation of git-contacts.
---
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
---
 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..74910496f4 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 (@files, @rev_args, $read_from_stdin);
 for (@ARGV) {
-	if (-e) {
+	if ($_ eq '-') {
+		$read_from_stdin = 1;
+	} elsif (-e) {
 		push @files, $_;
 	} else {
 		push @rev_args, $_;
@@ -178,6 +180,9 @@ for (@files) {
 if (@rev_args) {
 	scan_rev_args(\%sources, \@rev_args)
 }
+if ($read_from_stdin) {
+	scan_patches(\%sources, undef, \*STDIN);
+}
 
 my $toplevel = `git rev-parse --show-toplevel`;
 chomp $toplevel;

---
base-commit: f0ef1b96a076d08dc972a8d2cb0d1cfd60931eb6
change-id: 20260914-git-contacts-stdin-1e829930e19b

Thanks!
-- 
Brigham Campbell
https://brighamcampbell.com


  parent reply	other threads:[~2026-09-24  1:26 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 ` Brigham Campbell [this message]
2026-09-24  4:13   ` [PATCH v3] " Junio C Hamano
2026-09-25  1:51     ` Brigham Campbell
2026-09-25  4:38       ` Junio C Hamano
2026-09-25  6:42 ` [PATCH v4] " Brigham Campbell
2026-09-25 16:09   ` 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=20260923-git-contacts-stdin-v3-1-56dd43c64d56@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox