Add HTML output option to pgcvslog.
This commit is contained in:
parent
865d26fdd6
commit
b0bf66dfbe
@ -19,12 +19,27 @@
|
|||||||
# find . -name CVS -type d -exec rm '{}/Entries.Static' \;
|
# find . -name CVS -type d -exec rm '{}/Entries.Static' \;
|
||||||
#
|
#
|
||||||
|
|
||||||
|
if [ "X$1" == "X-h" ]
|
||||||
|
then HTML="Y"
|
||||||
|
shift
|
||||||
|
else HTML="N"
|
||||||
|
fi
|
||||||
|
|
||||||
cat "$@" |
|
cat "$@" |
|
||||||
|
|
||||||
|
# protect HTML input if in HTML mode
|
||||||
|
if [ "$HTML" = "Y" ]
|
||||||
|
then sed -e 's/\&/\&/g' \
|
||||||
|
-e 's/</\</g' \
|
||||||
|
-e 's/>/\>/g' \
|
||||||
|
-e 's/"/\"/g'
|
||||||
|
else cat
|
||||||
|
fi |
|
||||||
|
|
||||||
# mark each line with a datetime and line number, for sorting and merging
|
# mark each line with a datetime and line number, for sorting and merging
|
||||||
# We don't print anything from the -- or == line and the date:
|
# We don't print anything from the -- or == line and the date:
|
||||||
|
|
||||||
awk '
|
awk ' BEGIN {html="'"$HTML"'"; lineno = 0;}
|
||||||
# store working directory
|
# store working directory
|
||||||
$0 ~ /^Working file:/ {workingfile = "/" $3}
|
$0 ~ /^Working file:/ {workingfile = "/" $3}
|
||||||
|
|
||||||
@ -33,27 +48,39 @@ awk '
|
|||||||
# print blank line to separate entries
|
# print blank line to separate entries
|
||||||
if (datetime != "")
|
if (datetime != "")
|
||||||
{
|
{
|
||||||
printf ("%s| %10d|%s\n", datetime, NR, "");
|
if (html != "Y")
|
||||||
printf ("%s| %10d|%s\n", datetime, NR, "---");
|
printf ("%s| %10d|%s\n", datetime, lineno++, "");
|
||||||
|
printf ("%s| %10d|", datetime, lineno++);
|
||||||
|
if (html != "Y")
|
||||||
|
printf ("%s\n", "---");
|
||||||
|
else printf ("<HR>\n");
|
||||||
}
|
}
|
||||||
datetime="";
|
datetime="";
|
||||||
}
|
}
|
||||||
|
|
||||||
# if we have a saved datetime, print filename, date line, and committer
|
# if we have a saved datetime, print filename, date line, and committer
|
||||||
datetime != "" {printf ("%s| %10d| %s\n", datetime, NR, $0);}
|
datetime != "" {printf ("%s| %10d| %s\n", datetime, lineno++, $0);}
|
||||||
|
|
||||||
$1 == "date:" \
|
$1 == "date:" \
|
||||||
{
|
{
|
||||||
# get entry date
|
# get entry date
|
||||||
datetime=$2"-"$3
|
datetime=$2"-"$3
|
||||||
if (workingfile != "")
|
if (workingfile != "")
|
||||||
{
|
{
|
||||||
# remove semicolon from committers name
|
printf ("%s| %10d|", datetime, lineno++);
|
||||||
gsub(";", "", $5);
|
if (html != "Y")
|
||||||
printf ("%s| %10d|%s\n", datetime, NR-2, workingfile);
|
printf ("%s\n", workingfile);
|
||||||
printf ("%s| %10d|%s\n", datetime, NR-1, $0);
|
else printf ("<SMALL><FONT COLOR=\"red\">%s</FONT></SMALL>\n", workingfile);
|
||||||
|
|
||||||
# output name of committer
|
# output name of committer
|
||||||
printf ("%s| %10d| %70s\n", datetime, NR+1, $5);
|
# remove semicolon from committers name
|
||||||
|
gsub("/", "-", $2);
|
||||||
|
gsub(";", "", $3);
|
||||||
|
gsub(";", "", $5);
|
||||||
|
printf ("%s| %10d|", datetime, lineno++);
|
||||||
|
if (html != "Y")
|
||||||
|
printf ("%78s\n", $5);
|
||||||
|
else printf ("<DIV ALIGN=\"right\"><SMALL><FONT COLOR=\"teal\">%s</FONT> <FONT COLOR=\"green\">%s</FONT></SMALL></DIV>\n", $5, $2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -64,12 +91,11 @@ sort | cut -d'|' -f3 | cat |
|
|||||||
|
|
||||||
# collect duplicate narratives
|
# collect duplicate narratives
|
||||||
|
|
||||||
awk ' BEGIN { slot = 0; oldslot=0; save_working = ""; }
|
awk ' BEGIN { slot = 0; oldslot=0; save_working = ""; html="'"$HTML"'"}
|
||||||
{
|
{
|
||||||
# We have a filename, so we look at the previous
|
# We have a filename, so we look at the previous
|
||||||
# narrative to see if it is new narrative text.
|
# narrative to see if it is new narrative text.
|
||||||
#
|
if ($0 ~ /^\// || $0 ~ />\//)
|
||||||
if ($0 ~ /^\//)
|
|
||||||
{
|
{
|
||||||
# If there are a different number of narrative
|
# If there are a different number of narrative
|
||||||
# lines, they can not possibly be the same.
|
# lines, they can not possibly be the same.
|
||||||
@ -93,7 +119,13 @@ awk ' BEGIN { slot = 0; oldslot=0; save_working = ""; }
|
|||||||
{
|
{
|
||||||
if (oldslot)
|
if (oldslot)
|
||||||
for (i=1; i <= oldslot; i++)
|
for (i=1; i <= oldslot; i++)
|
||||||
|
{
|
||||||
print oldnarr[i];
|
print oldnarr[i];
|
||||||
|
if (html == "Y" &&
|
||||||
|
oldnarr[i] != "<HR>" &&
|
||||||
|
oldnarr[i] !~ "^<DIV ")
|
||||||
|
print "<BR>";
|
||||||
|
}
|
||||||
|
|
||||||
# save the current narrative
|
# save the current narrative
|
||||||
for (i=1; i <= slot; i++)
|
for (i=1; i <= slot; i++)
|
||||||
@ -104,12 +136,14 @@ awk ' BEGIN { slot = 0; oldslot=0; save_working = ""; }
|
|||||||
|
|
||||||
# dump out the previous filename
|
# dump out the previous filename
|
||||||
print save_working;
|
print save_working;
|
||||||
|
if (html == "Y")
|
||||||
|
print "<BR>";
|
||||||
|
|
||||||
# store the current filename for later printing
|
# store the current filename for later printing
|
||||||
save_working = $0;
|
save_working = $0;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
# we have a narrative line
|
# we have a narrative line
|
||||||
else if ($1 != "date:")
|
|
||||||
{
|
{
|
||||||
# accumulate narrative
|
# accumulate narrative
|
||||||
narr[++slot] = $0;
|
narr[++slot] = $0;
|
||||||
@ -117,9 +151,31 @@ awk ' BEGIN { slot = 0; oldslot=0; save_working = ""; }
|
|||||||
}
|
}
|
||||||
END {
|
END {
|
||||||
# dump out the last filename
|
# dump out the last filename
|
||||||
|
|
||||||
print save_working;
|
print save_working;
|
||||||
|
if (html == "Y")
|
||||||
|
print "<BR>";
|
||||||
|
|
||||||
# dump out the last narrative
|
# dump out the last narrative
|
||||||
for (i=1; i <= slot; i++)
|
for (i=1; i <= slot; i++)
|
||||||
|
{
|
||||||
print narr[i];
|
print narr[i];
|
||||||
}'
|
if (html == "Y" &&
|
||||||
|
oldnarr[i] != "<HR>" &&
|
||||||
|
oldnarr[i] !~ "^<DIV ")
|
||||||
|
print "<BR>";
|
||||||
|
}
|
||||||
|
}' |
|
||||||
|
|
||||||
|
# add HTML wrapper
|
||||||
|
if [ "$HTML" = "Y" ]
|
||||||
|
then echo "<HTML>"
|
||||||
|
echo "<HEAD>"
|
||||||
|
echo "<TITLE>CVS</TITLE>"
|
||||||
|
echo "</HEAD>"
|
||||||
|
echo "<BODY>"
|
||||||
|
cat
|
||||||
|
echo "</BODY>"
|
||||||
|
echo "</HTML>"
|
||||||
|
else cat
|
||||||
|
fi
|
||||||
|
Loading…
x
Reference in New Issue
Block a user