Skip to contentSkip to conversation

scripts/checkpatch.pl: check for non-permalinks to Zulip

PATCH Superseded Siddharth Menon 2 participants 2 messages Aug 27, 2024 – Aug 28, 2024

Subsystems (2)

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 scripts/checkpatch.pl: check for non-permalinks to Zulip

Zulip links to https://rust-for-linux.zulipchat.com can break in case of renaming the topic or channel if they are not message links (which are permanent links).

If a non-permanent Zulip link is referenced then emit a warning and direct the user to the Zulip documentation.

Permanent links are of the format:
https://.../#narrow/stream/x/topic/x/near/<numerical_id>

---
V1->V2:
Corrected the Github link to the right issue, Fixed grammatical errors and Replaced the link to reference Documentation to one that is easier to understand.

 scripts/checkpatch.pl | 10 ++++++++++
 1 file changed, 10 insertions(+)
scripts/checkpatch.pl +10 -0
index 39032224d504..41630532a056 100755
@@ -735,6 +735,10 @@ our $obsolete_archives = qr{(?xi:
 	\Qspinics.net\E
 )};
 
+our $zulip_forums = qr{(?xi:
+	\Qrust-for-linux.zulipchat.com\E
+)};
+
 our @typeListMisordered = (
 	qr{char\s+(?:un)?signed},
 	qr{int\s+(?:(?:un)?signed\s+)?short\s},
@@ -3415,6 +3419,12 @@ sub process {
 			     "Use lore.kernel.org archive links when possible - see https://lore.kernel.org/lists.html\n" . $herecurr);
 		}
 
+# Check for permanent Zulip URL
+		if ($rawline =~ m{http.*\b$zulip_forums(?!(?:/#narrow/stream/.+/topic/.+/(?:near|with)/\d+)?($|\s+.*))}) {
+			WARN("PREFER_PERMANENT_URL",
+			     "Use permanent Zulip links when possible - see https://zulip.com/help/link-to-a-message-or-conversation\n" . $herecurr);
+		}
+
 # Check for added, moved or deleted files
 		if (!$reported_maintainer_file && !$in_commit_log &&
 		    ($line =~ /^(?:new|deleted) file mode\s*\d+\s*$/ ||
Signature · 1 line
2.39.2
#1 lore raw
Quoted 8 lines · Siddharth Menon

Zulip links to https://rust-for-linux.zulipchat.com can break in case of renaming the topic or channel if they are not message links (which are permanent links).

If a non-permanent Zulip link is referenced then emit a warning and direct the user to the Zulip documentation.

Quoted 6 lines

Permanent links are of the format:
https://.../#narrow/stream/x/topic/x/near/<numerical_id>

This looks better, thanks!

Quoted 1 line

+ "Use permanent Zulip links when possible - see https://zulip.com/help/link-to-a-message-or-conversation\n" . $herecurr);

That link is better, yeah.

It may still be a bit confusing (one needs to search for "permalink" inside the page), but perhaps Zulip will improve those when they introduce more permalinks (?).

I guess we could link directly to the section at
https://zulip.com/help/link-to-a-message-or-conversation#get-a-link-to-a-specific-message
-- it may help a bit.

We could also explain how to shorten the links if the line is very long, but that is probably best left for another patch (possibly another warning).

Cheers,
Miguel