Meta/cook: support --newer to list 'new iteration exists'
Junio C Hamano committed
Jul 10, 2026 at 12:13 UTC
d7de0c6c9051ba4c2bf85256a5cfe4b351ac6904
1 file changed
+28
-1
cook
+28
-1
index 99250cf516..55b0e14b9e 100755
--- a/cook
+++ b/cook
@@ -1165,13 +1165,38 @@ sub doit {
write_cooking('Meta/whats-cooking.txt', $cooking);
}
+################################################################
+
+################################################################
+# Newer one exists?
+
+sub newer {
+ my $fn = 'Meta/whats-cooking.txt';
+ my $fh;
+ my $last_topic;
+
+ open ($fh, '<', $fn) or die "$!: open $fn";
+ while (<$fh>) {
+ chomp;
+ if (/^[*] (\S+) \(\d\d\d\d-\d\d-\d\d\)/) {
+ $last_topic = $1;
+ next;
+ }
+ if (/^ \(a newer iteration/) {
+ print "$last_topic\n$_\n";
+ }
+ }
+ close ($fh);
+}
+
################################################################
# Main
use Getopt::Long;
-my ($wildo, $havedone);
+my ($wildo, $havedone, $newer);
if (!GetOptions("wildo" => \$wildo,
+ "newer" => \$newer,
"havedone" => \$havedone)) {
print STDERR "$0 [--wildo|--havedone]\n";
exit 1;
@@ -1200,6 +1225,8 @@ if ($wildo) {
open($fd, "<", $ARGV[0]);
}
wildo($fd);
+} elsif ($newer) {
+ newer();
} elsif ($havedone) {
havedone();
} elsif (@ARGV) {