Added gitinfo stuff (non-standard packages).
authorTobias Dussa <tobias.dussa@kit.edu>
Tue, 17 Dec 2013 21:43:00 +0000 (22:43 +0100)
committerTobias Dussa <tobias.dussa@kit.edu>
Tue, 17 Dec 2013 21:43:00 +0000 (22:43 +0100)
src/gitinfo.sty [new file with mode: 0644]
src/gitsetinfo.sty [new file with mode: 0644]

diff --git a/src/gitinfo.sty b/src/gitinfo.sty
new file mode 100644 (file)
index 0000000..1be5197
--- /dev/null
@@ -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/src/gitsetinfo.sty b/src/gitsetinfo.sty
new file mode 100644 (file)
index 0000000..7d63b19
--- /dev/null
@@ -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}