+++ /dev/null
-# This is file 'vc-git.awk' from the vc bundle for TeX.
-# The original file can be found at CTAN:support/vc.
-# This file is Public Domain.
-BEGIN {
-
-### Process output of "git status".
- if (script=="status") {
- modified = 0
- }
-
-}
-
-
-
-### Process output of "git log".
-script=="log" && /^Hash:/ { Hash = substr($0, 2+match($0, ":")) }
-script=="log" && /^Abr. Hash:/ { AbrHash = substr($0, 2+match($0, ":")) }
-script=="log" && /^Parent Hashes:/ { ParentHashes = substr($0, 2+match($0, ":")) }
-script=="log" && /^Abr. Parent Hashes:/ { AbrParentHashes = 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, ":")) }
-script=="log" && /^Committer Name:/ { CommitterName = substr($0, 2+match($0, ":")) }
-script=="log" && /^Committer Email:/ { CommitterEmail = substr($0, 2+match($0, ":")) }
-script=="log" && /^Committer Date:/ { CommitterDate = substr($0, 2+match($0, ":")) }
-
-### Process output of "git status".
-### Changed index?
-script=="status" && /^# Changes to be committed:/ { modified = 1 }
-### Unstaged modifications?
-script=="status" && /^# Changed but not updated:/ { modified = 2 }
-
-
-
-END {
-
-### Process output of "git log".
- if (script=="log") {
-### Standard encoding is UTF-8.
- if (Encoding == "") Encoding = "UTF-8"
-### Extract relevant information from variables.
- LongDate = substr(AuthorDate, 1, 25)
- DateRAW = substr(LongDate, 1, 10)
- DateISO = DateRAW
- DateTEX = DateISO
- gsub("-", "/", DateTEX)
- Time = substr(LongDate, 12, 14)
-### Write file identification to vc.tex.
- print "%%% This file has been generated by the vc bundle for TeX."
- print "%%% Do not edit this file!"
- print "%%%"
-### Write Git specific macros.
- print "%%% Define Git specific macros."
- print "\\gdef\\GITHash{" Hash "}%"
- print "\\gdef\\GITAbrHash{" AbrHash "}%"
- print "\\gdef\\GITParentHashes{" ParentHashes "}%"
- print "\\gdef\\GITAbrParentHashes{" AbrParentHashes "}%"
- print "\\gdef\\GITAuthorName{" AuthorName "}%"
- print "\\gdef\\GITAuthorEmail{" AuthorEmail "}%"
- print "\\gdef\\GITAuthorDate{" AuthorDate "}%"
- print "\\gdef\\GITCommitterName{" CommitterName "}%"
- print "\\gdef\\GITCommitterEmail{" CommitterEmail "}%"
- print "\\gdef\\GITCommitterDate{" CommitterDate "}%"
-### Write generic version control macros.
- print "%%% Define generic version control macros."
- print "\\gdef\\VCRevision{\\GITAbrHash}%"
- print "\\gdef\\VCAuthor{\\GITAuthorName}%"
- 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 "git 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}%"
- }
- }
-
-}