if (@ARGV > 1) {
open FH, "$ARGV[1]";
} else {
- open FH, "Meta/WC |";
+ open FH, "Meta/WC generate |";
}
$new_wc = parse_whats_cooking(\*FH);
close FH;
master_at=$(git rev-parse --verify refs/heads/master)
next_at=$(git rev-parse --verify refs/heads/next)
+case "$1" in
+generate)
+ echo Here are the topics that have been
+ echo
+ Meta/git-topic.perl --base=master | sed -e 's/^\*./\n*/'
+ exit
+ ;;
+esac
+
+eval $(LC_ALL=C date +"monthname=%b month=%m year=%Y date=%d dow=%a")
+
+lead="whats/cooking/$year/$month"
+issue=$(
+ cd Meta &&
+ git ls-tree -r --name-only HEAD "$lead" | tail -n 1
+)
+if test -n "$issue"
+then
+ issue=$( expr "$issue" : '.*/0*\([1-9][0-9]*\)\.txt$' )
+ issue=$(( $issue + 1 ))
+else
+ issue=1
+fi
+issue=$( printf "%02d" $issue )
+mkdir -p "Meta/$lead"
+
+exec >"Meta/$lead/$issue.txt"
cat <<EOF
-Subject: What's cooking in git.git (topics)
+Subject: What's cooking in git.git ($monthname $year, #$issue; $dow, $date)
X-master-at: $master_at
X-next-at: $next_at
-Here are the topics that have been cooking. Commits prefixed
-with '-' are only in 'pu' while commits prefixed with '+' are
-in 'next'. Others commits may be stashed in 'offcuts'.
-
-The topics list the commits in reverse chronological order.
+What's cooking in git.git ($monthname $year, #$issue; $dow, $date)
+--------------------------------------------------
EOF
-Meta/git-topic.perl --base=master | sed -e 's/^\*./\n*/'
+last=$(
+ cd Meta &&
+ git ls-tree -r --name-only HEAD "whats/cooking" | tail -n 1
+)
+Meta/UWC <"Meta/$last"
git shortlog -w76,2,4 --no-merges "$@"
}
-echo "Subject: What's in git.git (stable)"
-echo "X-maint-at: $maint_at"
-echo "X-master-at: $master_at"
-echo "X-maint-was: $maint_was"
-echo "X-master-was: $master_was"
+one () {
+ git show -s --pretty="format:%h (%s)" "$1"
+}
+
+eval $(LC_ALL=C date +"monthname=%b month=%m year=%Y date=%d dow=%a")
+
+lead="whats/in/$year/$month"
+issue=$(
+ cd Meta &&
+ git ls-tree -r --name-only HEAD "$lead" | tail -n 1
+)
+if test -n "$issue"
+then
+ issue=$( expr "$issue" : '.*/0*\([1-9][0-9]*\)\.txt$' )
+ issue=$(( $issue + 1 ))
+else
+ issue=1
+fi
+issue=$( printf "%02d" $issue )
+
+mkdir -p "Meta/$lead"
+exec >"Meta/$lead/$issue.txt"
+
+cat <<EOF
+Subject: What's in git.git ($monthname $year, #$issue; $dow, $date)
+X-maint-at: $maint_at"
+X-master-at: $master_at"
+X-maint-was: $maint_was"
+X-master-was: $master_was"
+
+What's in git.git ($monthname $year, #$issue; $dow, $date)
+
+ maint $(one maint)
+ master $(one master)
+------------------------------------------------------------------------
+
+BLURB HERE
+EOF
tagged=`git rev-parse --not --verify hold/sa/maint`
list=`git rev-list $tagged refs/heads/maint 2>/dev/null`