summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/gitinfo
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2011-09-03 23:05:48 +0000
committerKarl Berry <karl@freefriends.org>2011-09-03 23:05:48 +0000
commit2898d79db8fd35f3151ead38d075c66507556f8e (patch)
tree6207c5d3e1ca3d1d50ff6bd7dd3c2ecafcc3bf98 /Master/texmf-dist/tex/latex/gitinfo
parenta2558adec96db705392e3d601c12fa811c198f4f (diff)
new latex package gitinfo (30aug11)
git-svn-id: svn://tug.org/texlive/trunk@23779 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/gitinfo')
-rw-r--r--Master/texmf-dist/tex/latex/gitinfo/gitinfo.sty83
-rw-r--r--Master/texmf-dist/tex/latex/gitinfo/gitsetinfo.sty66
2 files changed, 149 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/gitinfo/gitinfo.sty b/Master/texmf-dist/tex/latex/gitinfo/gitinfo.sty
new file mode 100644
index 00000000000..1be51970c07
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/gitinfo/gitinfo.sty
@@ -0,0 +1,83 @@
+% gitinfo.sty
+% Copyright 2011 Brent Longborough
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+% The Current Maintainer of this work is Brent Longborough.
+%
+% This work consists of these files:
+% gitinfo.sty, gitsetinfo.sty, gitinfo.tex, gitinfo.pdf,
+% post-git-sample.txt, and gitHeadInfo.gin
+% -----------------------------------------------------
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{gitinfo}[2011/08/10 v1.00 git revision information]
+\RequirePackage{etoolbox}
+\RequirePackage{kvoptions}
+\SetupKeyvalOptions{%
+ family=gitInfo,
+ prefix=gitInf@
+ }
+\DeclareBoolOption{grumpy}
+\DeclareBoolOption{pcount}
+\DeclareBoolOption{footinfo}
+\DeclareStringOption[(None)]{missing}
+\ProcessKeyvalOptions*
+\newcommand{\gitAbbrevHash}{\gitInf@missing}
+\newcommand{\gitHash}{\gitInf@missing}
+\newcommand{\gitAuthorName}{\gitInf@missing}
+\newcommand{\gitAuthorEmail}{\gitInf@missing}
+\newcommand{\gitAuthorDate}{\gitInf@missing}
+\newcommand{\gitAuthorIsoDate}{\gitInf@missing}
+\newcommand{\gitAuthorUnixDate}{\gitInf@missing}
+\newcommand{\gitCommitterName}{\gitInf@missing}
+\newcommand{\gitCommitterEmail}{\gitInf@missing}
+\newcommand{\gitCommitterDate}{\gitInf@missing}
+\newcommand{\gitCommitterIsoDate}{\gitInf@missing}
+\newcommand{\gitCommitterUnixDate}{\gitInf@missing}
+\newcommand{\gitReferences}{\gitInf@missing}
+\newcommand{\gitVtag}{}
+\newcommand{\gitVtags}{}
+\newcommand{\gitVtagn}{\space\gitInf@missing}
+\InputIfFileExists{./gitHeadInfo.gin}{}{%
+ \ifbool{gitInf@grumpy}{%
+ \PackageError{gitinfo}{I can't find the file `gitHeadInfo.gin`.\MessageBreak
+ Please check the manual (gitinfo.pdf) \MessageBreak
+ if you need more details.}{}
+ }{%
+ \PackageWarning{gitInfo}{I can't find the file `gitHeadInfo.gin`.\MessageBreak
+ All git metadata has been set to ``\gitInf@missing''.}
+ }
+}
+\@ifclassloaded{memoir}{%
+ \ifbool{gitInf@footinfo}{%
+ \ifbool{gitInf@pcount}{
+ \newcommand{\@gitPage}{\thepage/\thelastpage}
+ \addtodef{\frontmatter}{\renewcommand{\@gitPage}{\thepage}}{}
+ \addtodef{\mainmatter}{}{\renewcommand{\@gitPage}{\thepage/\thelastpage}}
+ }{%
+ \newcommand{\@gitPage}{\thepage}
+ }
+ \newcommand{\@gitFootRev}{Revision\gitVtags: \gitAbbrevHash{} (\gitAuthorDate)}
+ \newcommand{\@gitrFootRev}{%
+ \tiny\textsf{\raggedleft \@gitFootRev}%
+ }
+ \newcommand{\@gitlFootRev}{%
+ \tiny\textsf{\@gitFootRev}%
+ }
+ \makeevenfoot{plain}{\@gitPage}{}{\@gitrFootRev}
+ \makeoddfoot{plain}{\@gitlFootRev}{}{\@gitPage}
+ \makeevenfoot{ruled}{\@gitPage}{}{\@gitrFootRev}
+ \makeoddfoot{ruled}{\@gitlFootRev}{}{\@gitPage}
+ \makeevenfoot{headings}{\@gitPage}{}{\@gitrFootRev}
+ \makeoddfoot{headings}{\@gitlFootRev}{}{\@gitPage}
+ \makeevenhead{headings}{}{}{\slshape\leftmark}
+ \makeoddhead{headings}{\slshape\rightmark}{}{}
+ }{}
+}{}
diff --git a/Master/texmf-dist/tex/latex/gitinfo/gitsetinfo.sty b/Master/texmf-dist/tex/latex/gitinfo/gitsetinfo.sty
new file mode 100644
index 00000000000..7d63b19500a
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/gitinfo/gitsetinfo.sty
@@ -0,0 +1,66 @@
+% gitsetinfo.sty
+% Copyright 2011 Brent Longborough
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+% The Current Maintainer of this work is Brent Longborough.
+%
+% This work consists of these files:
+% gitinfo.sty, gitsetinfo.sty, gitinfo.tex, gitinfo.pdf,
+% post-git-sample.txt, and gitHeadInfo.gin
+% -----------------------------------------------------
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{gitsetinfo}[2011/08/10 v1.00 Auxiliary package for gitinfo]
+\RequirePackage{kvoptions}
+\RequirePackage{xstring}
+\RequirePackage{etoolbox}
+\SetupKeyvalOptions{%
+ family=gitinfo,
+ prefix=gitInf@
+ }
+\DeclareStringOption{shash}
+\DeclareStringOption{lhash}
+\DeclareStringOption{authname}
+\DeclareStringOption{authemail}
+\DeclareStringOption{authsdate}
+\DeclareStringOption{authidate}
+\DeclareStringOption{authudate}
+\DeclareStringOption{commname}
+\DeclareStringOption{commemail}
+\DeclareStringOption{commsdate}
+\DeclareStringOption{commidate}
+\DeclareStringOption{commudate}
+\DeclareStringOption{refnames}
+\ProcessKeyvalOptions*
+\renewcommand{\gitAbbrevHash}{\gitInf@shash}
+\renewcommand{\gitHash}{\gitInf@lhash}
+\renewcommand{\gitAuthorName}{\gitInf@authname}
+\renewcommand{\gitAuthorEmail}{\gitInf@authemail}
+\renewcommand{\gitAuthorDate}{\gitInf@authsdate}
+\renewcommand{\gitAuthorIsoDate}{\gitInf@authidate}
+\renewcommand{\gitAuthorUnixDate}{\gitInf@authudate}
+\renewcommand{\gitCommitterName}{\gitInf@commname}
+\renewcommand{\gitCommitterEmail}{\gitInf@commemail}
+\renewcommand{\gitCommitterDate}{\gitInf@commsdate}
+\renewcommand{\gitCommitterIsoDate}{\gitInf@commidate}
+\renewcommand{\gitCommitterUnixDate}{\gitInf@commudate}
+\renewcommand{\gitReferences}{\gitInf@refnames}
+\newcommand{\git@vtag}[1]{%
+ \def\do##1{%
+ \IfDecimal{##1}{%
+ \renewcommand{\gitVtag}{##1}
+ \renewcommand{\gitVtags}{\space##1}
+ \renewcommand{\gitVtagn}{\space##1}
+ \listbreak
+ }{}%
+ }%
+ \expandafter\docsvlist\expandafter{#1}%
+}%
+\git@vtag{\gitInf@refnames}