\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{gitexinfo}[2014/05/12 v2.00 Auxiliary package for gitinfo2]
\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}
\DeclareStringOption{firsttagdescribe}
\DeclareStringOption{reltag}
\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{\gitFirstTagDescribe}{\gitInf@firsttagdescribe}
\renewcommand{\gitReferences}{\gitInf@refnames}
\newcommand{\git@vtag}[1]{ \def\do##1{ \StrCut{##1}{tag: }\lcut\rcut \IfEq{\rcut}{}{ \IfDecimal{\lcut}{ \renewcommand{\gitVtag}{\lcut}
\renewcommand{\gitVtags}{\space\lcut}
\renewcommand{\gitVtagn}{\space\lcut}
\listbreak
}{} }{ \IfDecimal\rcut{ \renewcommand{\gitVtag}{\rcut}
\renewcommand{\gitVtags}{\space\rcut}
\renewcommand{\gitVtagn}{\space\rcut}
\listbreak
}{} } } \expandafter\docsvlist\expandafter{#1} \StrDel{#1}{)}[\bcut] \StrDel{\bcut}{(HEAD}[\bcut] \StrCount{\bcut}{, }[\xcut] \StrCut[\xcut]{\bcut}{, }{\bcut}{\xcut} \IfEq{\xcut}{}{}{ \renewcommand{\gitBranch}{\xcut} }}\newcommand{\git@taglist}[1]{ \def\do##1{ \StrCut{##1}{tag: }\llcut\rrcut \IfEq{\rrcut}{}{ \IfDecimal{\llcut}{ \StrGobbleLeft{\gitTags,\space\llcut}{0}[\gitTags]
}{} }{ \StrGobbleLeft{\gitTags,\space\rrcut}{0}[\gitTags]
} } \expandafter\docsvlist\expandafter{#1} \StrGobbleLeft{\gitTags}{2}[\gitTags]
\IfEq{\gitTags}{}{\renewcommand{\gitTags}{\gitInf@notags}}{}
}\newcommand{\git@rtag}[1]{ \IfEq{#1}{}{}{ \StrRight{#1}{2}[\gitInf@dirtflag]
\StrDel{#1}{-*}[\gitInf@describe]
\IfEq{\gitInf@dirtflag}{-*}{\renewcommand{\gitDirty}{\gitInf@dirty}}{}
\StrGobbleRight{\gitInf@describe}{9}[\gitInf@describe] \StrCount{\gitInf@describe}{-}[\gitInf@mcount] \StrCut[\gitInf@mcount]{\gitInf@describe}{-}{\gitInf@rel}{\gitInf@off}
\renewcommand{\gitRel}{\gitInf@rel}
\renewcommand{\gitRels}{\space\gitInf@rel}
\renewcommand{\gitReln}{\space\gitInf@rel}
\renewcommand{\gitRoff}{\gitInf@off}
\renewcommand{\gitDescribe}{#1}
}}\git@vtag{\gitInf@refnames}
\git@taglist{\gitInf@refnames}
\git@rtag{\gitInf@reltag}
\renewcommand{\gitMark}{Branch: \gitBranch\,@\,\gitAbbrevHash{} / Release:\gitReln{} (\gitAuthorDate)\\Head tags: \gitTags}