summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/gitinfo/gitsetinfo.sty
blob: 7d63b19500a529ad4dc6b8514cd87f35e8634fc6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
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}