# This is file 'vc-hg.awk' from the vc bundle for TeX. # The original file can be found at CTAN:support/vc. # This file is Public Domain. BEGIN { modified = 0 } ### Process output of "hg log" script=="log" && /^Hash:/ { Hash = substr($0, 2+match($0, ":")) } script=="log" && /^Abr. Hash:/ { AbrHash = substr($0, 2+match($0, ":")) } script=="log" && /^Branch:/ { Branch = substr($0, 2+match($0, ":")) } script=="log" && /^Parent1 Hash:/ { Parent1Hash = substr($0, 2+match($0, ":")) } script=="log" && /^Parent2 Hash:/ { Parent2Hash = substr($0, 2+match($0, ":")) } script=="log" && /^Abr. Parent1 Hash:/ { AbrParent1Hash = substr($0, 2+match($0, ":")) } script=="log" && /^Abr. Parent2 Hash:/ { AbrParent2Hash = substr($0, 2+match($0, ":")) } script=="log" && /^Author Name:/ { AuthorName = substr($0, 2+match($0, ":")) } script=="log" && /^Author Email:/ { AuthorEmail = substr($0, 2+match($0, ":")) } script=="log" && /^Author Date:/ { AuthorDate = substr($0, 2+match($0, ":")) } ### Process output of "hg status" script=="status" && /^M / { modified = 1 } END { ### Process output of "hg log" if (script=="log") { ### Format dates LongDate = substr(AuthorDate, 1, 25) DateRAW = substr(LongDate, 1, 10) DateISO = DateRAW DateTEX = DateISO gsub("-", "/", DateTEX) Time = substr(LongDate, 12, 14) print "%%% This file has been generated by the vc bundle for TeX." print "%%% Do not edit this file!" print "%%%" print "%%% Define HG specific macros." print "\\gdef\\HGHash{" Hash "}%" print "\\gdef\\HGAbrHash{" AbrHash "}%" print "\\gdef\\HGBranch{" Branch "}%" print "\\gdef\\HGFirstParentHash{" Parent1Hash "}%" print "\\gdef\\HGSecondParentHash{" Parent2Hash "}%" print "\\gdef\\HGAbrFirstParentHash{" AbrParent1Hash "}%" print "\\gdef\\HGAbrSecondParentHash{" AbrParent2Hash "}%" print "\\gdef\\HGAuthorName{" AuthorName "}%" print "\\gdef\\HGAuthorEmail{" AuthorEmail "}%" print "\\gdef\\HGAuthorDate{" AuthorDate "}%" print "%%% Define generic version control macros." print "\\gdef\\VCRevision{\\HGAbrHash}%" print "\\gdef\\VCAuthor{\\HGAuthorName}%" print "\\gdef\\VCDateRAW{" DateRAW "}%" print "\\gdef\\VCDateISO{" DateISO "}%" print "\\gdef\\VCDateTEX{" DateTEX "}%" print "\\gdef\\VCTime{" Time "}%" print "\\gdef\\VCModifiedText{\\textcolor{red}{with local modifications!}}%" print "%%% Assume clean working copy." print "\\gdef\\VCModified{0}%" print "\\gdef\\VCRevisionMod{\\VCRevision}%" } ### Process output of "hg status" if (script=="status") { print "%%% Is working copy modified?" print "\\gdef\\VCModified{" modified "}%" if (modified==0) { print "\\gdef\\VCRevisionMod{\\VCRevision}%" } else { print "\\gdef\\VCRevisionMod{\\VCRevision~\\VCModifiedText}%" } } }