summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-11-22 19:02:28 +0000
committerKarl Berry <karl@freefriends.org>2009-11-22 19:02:28 +0000
commitf416cde919529b4cc1dbde7a502981b7665cb0cf (patch)
treebdf6c00d65fabbfd3cd0dcd8914946a696a1e91a
parent5c1ac0551ac7f6c96e8b09c1ba7b1f2ecb2e864d (diff)
svn-multi 2.2 (20oct09)
git-svn-id: svn://tug.org/texlive/trunk@16125 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/svn-multi/README88
-rw-r--r--Master/texmf-dist/doc/latex/svn-multi/example.pdfbin41492 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/svn-multi/svn-multi-pl.pdfbin0 -> 147314 bytes
-rw-r--r--Master/texmf-dist/doc/latex/svn-multi/svn-multi.pdfbin1244990 -> 1264427 bytes
-rw-r--r--Master/texmf-dist/source/latex/svn-multi/Makefile114
-rw-r--r--Master/texmf-dist/source/latex/svn-multi/example_chap1.tex (renamed from Master/texmf-dist/doc/latex/svn-multi/example_chap1.tex)0
-rw-r--r--Master/texmf-dist/source/latex/svn-multi/example_main.tex (renamed from Master/texmf-dist/doc/latex/svn-multi/example_main.tex)0
-rw-r--r--Master/texmf-dist/source/latex/svn-multi/group_example.tex (renamed from Master/texmf-dist/doc/latex/svn-multi/group_example.tex)0
-rw-r--r--Master/texmf-dist/source/latex/svn-multi/svn-multi.dtx145
-rw-r--r--Master/texmf-dist/tex/latex/svn-multi/svn-multi.sty87
-rw-r--r--Master/texmf-dist/tex/latex/svn-multi/svnkw.sty38
11 files changed, 237 insertions, 235 deletions
diff --git a/Master/texmf-dist/doc/latex/svn-multi/README b/Master/texmf-dist/doc/latex/svn-multi/README
deleted file mode 100644
index e50ba810df2..00000000000
--- a/Master/texmf-dist/doc/latex/svn-multi/README
+++ /dev/null
@@ -1,88 +0,0 @@
---------------------------------------------------------------
- svn-multi (was svnkw)
- version 2.1, Mar 27th, 2009
---------------------------------------------------------------
-
-This package lets you typeset keywords of the version
-control system Subversion inside your LaTeX files anywhere
-you like. Unlike the very similar package 'svn' the usage of
-multiple files for one LaTeX document is well supported.
-
-Copyright (C) 2006-2009 Martin Scharrer
-E-mail: martin@scharrer-online.de
-WWW: http://www.scharrer-online.de/latex/svn-multi/
-
-This work may be distributed and/or modified under the
-conditions of the LaTeX Project Public License, either version 1.3c
-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.3c or later is part of all distributions of LaTeX
-version 2008/05/04 or later.
-
-This work has the LPPL maintenance status `maintained'.
-
-The Current Maintainer of this work is Martin Scharrer.
-
-This work consists of the files svn-multi.dtx, svn-multi-pl.dtx, svn-multi.ins
-and the derived files svn-multi.sty, svnkw.sty and svn-multi.pl.
-
-
-Tiny example:
-~~~~~~~~~~~~~
-Put the following Subversion keyword at the start of all your LaTeX files of
-your document:
-
-\svnidlong
-{$HeadURL$}
-{$LastChangedDate$}
-{$LastChangedRevision$}
-{$LastChangedBy$}
-
-or
-
-\svnid{$Id$}
-
-or both.
-Attach the subversion property svn:keyword with a value of
-'URL Date Revision Author', 'Id' or both, respectively, to all LaTeX files.
-Subversion will expand this keywords the next time the files are committed and
-then the SVN information can be typeset using
- \svnauthor, \svnrev, \svndate, \svnhour, ...
-which will hold the information of the latest comitted file
-anywhere in your multi-file LaTeX document.
-
-Also per-file macros exist:
- \svnfileauthor, \svnfilerev, ...
-which hold the keyword values of the current file.
-
-
-INSTALL:
-~~~~~~~~
-From the .dtx file (if you don't get the .sty files directly):
-==================
-Unpack the zip file and run 'make'.
-You also can do it manually:
- [pdf]latex svn-multi.ins # for the style file and perl script
- [pdf]latex svn-multi.dtx # for the documentation
-2x[pdf]latex example-main # for the example
-
-For the large keyword group example document:
- [pdf]latex group-example
- perl svn-multi.pl group-example
-2x[pdf]latex group-example
-
-Place the two .sty files
- svn-multi.sty # Package
- svnkw.sty # Wrapper for backward compatibility
-into your TEXMF tree, e.g. in
- $TEXMF/tex/latex/svn-multi
-
-Make the perl script svn-multi.pl executable:
- chmod +x svn-multi.pl
-and place it in an directory in your $PATH, e.g. under Unix/Linux in
- /usr/bin/svn-multi.pl or
- /usr/local/bin/svn-multi.pl or
- $HOME/bin/svn-multi.pl
-Consider to rename or link it to 'svn-multi'.
-
diff --git a/Master/texmf-dist/doc/latex/svn-multi/example.pdf b/Master/texmf-dist/doc/latex/svn-multi/example.pdf
deleted file mode 100644
index 6fe01903295..00000000000
--- a/Master/texmf-dist/doc/latex/svn-multi/example.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/svn-multi/svn-multi-pl.pdf b/Master/texmf-dist/doc/latex/svn-multi/svn-multi-pl.pdf
new file mode 100644
index 00000000000..efe8ea20895
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/svn-multi/svn-multi-pl.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/svn-multi/svn-multi.pdf b/Master/texmf-dist/doc/latex/svn-multi/svn-multi.pdf
index 39cd32e9996..38e58319ba4 100644
--- a/Master/texmf-dist/doc/latex/svn-multi/svn-multi.pdf
+++ b/Master/texmf-dist/doc/latex/svn-multi/svn-multi.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/svn-multi/Makefile b/Master/texmf-dist/source/latex/svn-multi/Makefile
index 719834dda14..e5964b0c68a 100644
--- a/Master/texmf-dist/source/latex/svn-multi/Makefile
+++ b/Master/texmf-dist/source/latex/svn-multi/Makefile
@@ -1,57 +1,70 @@
-# $Id: Makefile 628 2007-07-10 20:32:06Z martin $
+# $Id: Makefile 1052 2009-05-03 12:24:53Z martin $
+
+PACKAGE = svn-multi
+PACKAGE_STY = ${PACKAGE}.sty
+PACKAGE_DTX = ${PACKAGE}.dtx ${PACKAGE}-pl.dtx
+PACKAGE_SCR = ${PACKAGE}.pl
+PACKAGE_DOC = $(PACKAGE_DTX:.dtx=.pdf)
+PACKAGE_SRC = ${PACKAGE_DTX} ${PACKAGE}.ins Makefile example_chap1.tex example_main.tex group_example.tex
+PACKFILES = ${PACKAGE_SRC} ${PACKAGE_DOC} README
+
+TEXAUX = *.aux *.log *.glo *.ind *.idx *.out *.svn *.svx *.svt *.toc *.ilg *.gls *.hd *.exa *.exb *.fdb_latexmk
+INSGENERATED = ${PACKAGE_STY} svnkw.sty svn-multi.pl
+GENERATED = ${INSGENERATED} ${PACKAGE}.pdf svn-multi-pl.pdf example.pdf group_example.pdf group_example_*.tex ${PACKAGE}.zip ${PACKAGE}.tar.gz ${TESTDIR}/test*.pdf
+ZIPFILE = ${PACKAGE}-${ZIPVERSION}.zip
+TDSZIPFILE = ${PACKAGE}.tds.zip
-PACKAGE=svn-multi
-PACKFILES = ${PACKAGE}.dtx ${PACKAGE}.ins ${PACKAGE}.pdf svn-multi-pl.dtx example_main.tex \
- example_chap1.tex example.pdf Makefile README group_example.tex
-TEXAUX = *.aux *.log *.glo *.ind *.idx *.out *.svn *.svx *.svt *.toc *.ilg *.gls *.hd
TESTDIR = tests
TESTS = $(patsubst %.tex,%,$(subst ${TESTDIR}/,,$(wildcard ${TESTDIR}/test?.tex ${TESTDIR}/test??.tex))) # look for all test*.tex file names and remove the '.tex'
TESTARGS = -output-directory ${TESTDIR}
-INSGENERATED = ${PACKAGE}.sty svnkw.sty svn-multi.pl
-GENERATED = ${INSGENERATED} ${PACKAGE}.pdf svn-multi-pl.pdf example.pdf group_example.pdf group_example_*.tex ${PACKAGE}.zip ${PACKAGE}.tar.gz ${TESTDIR}/test*.pdf
-ZIPFILE = ${PACKAGE}-${ZIPVERSION}.zip
LATEX_OPTIONS = -interaction=batchmode
LATEX = pdflatex ${LATEX_OPTIONS}
+TEXMFDIR = ${HOME}/texmf
+
RED = \033[01;31m
GREEN = \033[01;32m
WHITE = \033[00m
-.PHONY: all doc package clean fullclean example testclean ${TESTS}
+CP = cp -v
+MV = mv -v
+RMDIR = rm -rf
+MKDIR = mkdir -p
+
+.PHONY: all doc package clean fullclean example testclean ${TESTS} tds ${CHECK_LOG}
+
+###############################################################################
all: package doc example
new: fullclean all
-doc: ${PACKAGE}.pdf svn-multi-pl.pdf
+doc: ${PACKAGE_DOC}
-package: ${PACKAGE}.sty ${PACKAGE}.pl
+package: ${PACKAGE_STY} ${PACKAGE_SCR}
%.pdf: %.dtx
${LATEX} $*.dtx
- ${LATEX} $*.dtx
-makeindex -s gind.ist -o $*.ind $*.idx
-makeindex -s gglo.ist -o $*.gls $*.glo
${LATEX} $*.dtx
${LATEX} $*.dtx
-%.pdf: %.eps
- epstopdf $<
-
-%.eps: %.dia
- dia -t eps -e $@ $<
-
${PACKAGE}.pdf: ${PACKAGE}.sty
-${INSGENERATED}: *.dtx ${PACKAGE}.ins
+${INSGENERATED}: ${PACKAGE_DTX} ${PACKAGE}.ins
yes | latex ${PACKAGE}.ins
@-chmod +x *.pl
clean:
rm -f ${TEXAUX} $(addprefix ${TESTDIR}/, ${TEXAUX})
-fullclean:
- rm -f ${TEXAUX} $(addprefix ${TESTDIR}/, ${TEXAUX}) ${GENERATED} *~ *.backup
+fullclean: clean
+ rm -f ${GENERATED} *~ *.backup
+ rm -f ${PACKAGE}*.zip
+ rm -rf tds/
+
+###############################################################################
example: example.pdf gexample
@@ -66,30 +79,30 @@ gexample: group_example.pdf
group_example.pdf: group_example.tex svn-multi.sty
${RM} $(addprefix group_example, ${TEXAUX}) group_example_*.tex
${LATEX} $<
- ${LATEX} $<
perl svn-multi.pl group_example
${LATEX} $<
${LATEX} $<
${LATEX} $<
-zip: fullclean package doc example tests ${ZIPFILE}
-${PACKAGE}.zip: zip
+###############################################################################
+
+zip: ${PACKFILES}
+ @${MAKE} --no-print-directory ${ZIPFILE}
-zip: ZIPVERSION=$(shell grep 'Package: svn-multi ' svn-multi.log | \
- sed -e 's/.*Package: svn-multi ....\/..\/..\s\+\(v\S\+\).*/\1/')
+zip: ZIPVERSION=$(shell grep "Package: ${PACKAGE} " ${PACKAGE}.log | \
+ sed -e "s/.*Package: ${PACKAGE} ....\/..\/..\s\+\(v\S\+\).*/\1/")
-${ZIPFILE}: ${PACKFILES}
- grep -q '\* Checksum passed \*' svn-multi.log
- grep -q '\* Checksum passed \*' svn-multi-pl.log
+${PACKAGE}%.zip: ${PACKFILES}
+ grep -L '\* Checksum passed \*' ${PACKAGE_DTX:.dtx=.log} | wc -l | grep -q '^0$$'
-pdfopt ${PACKAGE}.pdf opt_${PACKAGE}.pdf && mv opt_${PACKAGE}.pdf ${PACKAGE}.pdf
- zip ${ZIPFILE} ${PACKFILES}
+ ${RM} $@
+ zip $@ ${PACKFILES}
@echo
- @echo "ZIP file ${ZIPFILE} created!"
+ @echo "ZIP file $@ created!"
-tar.gz: ${PACKAGE}.tar.gz
+release: fullclean package doc example tests ${ZIPFILE}
-${PACKAGE}.tar.gz:
- tar -czf $@ ${PACKFILES}
+###############################################################################
# Make sure TeX finds the input files in TESTDIR
tests ${TESTS}: export TEXINPUTS:=${TEXINPUTS}:${TESTDIR}
@@ -112,4 +125,37 @@ ${TESTS}: % : ${TESTDIR}/%.tex package testclean
then /bin/echo -e "${GREEN}$@ succeeded${WHITE}" >&2; \
else /bin/echo -e "${RED}$@ failed!!!!!!${WHITE}" >&2; fi
+###############################################################################
+
+tds: .tds
+
+.tds: ${PACKAGE_STY} ${PACKAGE_DOC} ${PACKAGE_SRC}
+ @grep -q '\* Checksum passed \*' ${PACKAGE}.log
+ ${RMDIR} tds
+ ${MKDIR} tds/
+ ${MKDIR} tds/tex/ tds/tex/latex/ tds/tex/latex/${PACKAGE}/
+ ${MKDIR} tds/doc/ tds/doc/latex/ tds/doc/latex/${PACKAGE}/
+ ${MKDIR} tds/source/ tds/source/latex/ tds/source/latex/${PACKAGE}/
+ test -n "${PACKAGE_SCR}" && ${MKDIR} tds/scripts/ tds/scripts/${PACKAGE}/
+ ${CP} ${PACKAGE_STY} tds/tex/latex/${PACKAGE}/
+ ${CP} ${PACKAGE_DOC} tds/doc/latex/${PACKAGE}/
+ ${CP} ${PACKAGE_SRC} tds/source/latex/${PACKAGE}/
+ test -n "${PACKAGE_SCR}" && ${CP} ${PACKAGE_SCR} tds/scripts/${PACKAGE}/
+ @touch $@
+
+tdszip: ${TDSZIPFILE}
+
+${TDSZIPFILE}: .tds
+ ${RM} ${TDSZIPFILE}
+ cd tds && zip -r ../${TDSZIPFILE} .
+
+###############################################################################
+
+install: .tds
+ test -d "${TEXMFDIR}" && ${CP} -a tds/* "${TEXMFDIR}/" && texhash ${TEXMFDIR}
+
+uninstall:
+ test -d "${TEXMFDIR}" && ${RM} -rv "${TEXMFDIR}/tex/latex/${PACKAGE}" \
+ "${TEXMFDIR}/doc/latex/${PACKAGE}" "${TEXMFDIR}/source/latex/${PACKAGE}" \
+ "${TEXMFDIR}/scripts/${PACKAGE}" && texhash ${TEXMFDIR}
diff --git a/Master/texmf-dist/doc/latex/svn-multi/example_chap1.tex b/Master/texmf-dist/source/latex/svn-multi/example_chap1.tex
index 24ac0bc313b..24ac0bc313b 100644
--- a/Master/texmf-dist/doc/latex/svn-multi/example_chap1.tex
+++ b/Master/texmf-dist/source/latex/svn-multi/example_chap1.tex
diff --git a/Master/texmf-dist/doc/latex/svn-multi/example_main.tex b/Master/texmf-dist/source/latex/svn-multi/example_main.tex
index ef4ebce0f33..ef4ebce0f33 100644
--- a/Master/texmf-dist/doc/latex/svn-multi/example_main.tex
+++ b/Master/texmf-dist/source/latex/svn-multi/example_main.tex
diff --git a/Master/texmf-dist/doc/latex/svn-multi/group_example.tex b/Master/texmf-dist/source/latex/svn-multi/group_example.tex
index 692687d4f97..692687d4f97 100644
--- a/Master/texmf-dist/doc/latex/svn-multi/group_example.tex
+++ b/Master/texmf-dist/source/latex/svn-multi/group_example.tex
diff --git a/Master/texmf-dist/source/latex/svn-multi/svn-multi.dtx b/Master/texmf-dist/source/latex/svn-multi/svn-multi.dtx
index bfbd61432aa..192804000a8 100644
--- a/Master/texmf-dist/source/latex/svn-multi/svn-multi.dtx
+++ b/Master/texmf-dist/source/latex/svn-multi/svn-multi.dtx
@@ -24,27 +24,30 @@
% \fi
% \iffalse
%<*package|driver>
-% $Id: svn-multi.dtx 845 2009-04-21 12:03:08Z martin $
+% $Id: svn-multi.dtx 1448 2009-10-19 21:28:41Z martin $
%
-\def\svnmulti@version {v2.1a}
-\def\svnmulti@rev $#1: #2 ${\def\svnmulti@rev{#2}}
-\def\svnmulti@date $#1: #2-#3-#4 #5 ${\def\svnmulti@date{#2/#3/#4}}
-\svnmulti@rev $Rev: 845 $\relax
-\svnmulti@date $Date: 2009-04-21 13:03:08 +0100 (Tue, 21 Apr 2009) $\relax
-
+\def\svnmulti@version{v2.2}
+\RequirePackage{svn-prov}
%</package|driver>
%<*driver>
-\ProvidesFile{svn-multi.dtx}
- [\svnmulti@date\space\svnmulti@version\space SVN Keywords for multi-file LaTeX documents]
-
-\def\svnmulti@date $#1: #2-#3-#4 #5 $ {%
- \def\svnmulti@today{{\year#2\month#3\day#4\today}}%
- \def\svnmulti@date{#2/#3/#4}%
-}
-\svnmulti@date $Date: 2009-04-21 13:03:08 +0100 (Tue, 21 Apr 2009) $
+\ProvidesFileSVN{$Id: svn-multi.dtx 1448 2009-10-19 21:28:41Z martin $}
+ [\svnmulti@version\space SVN Keywords for multi-file LaTeX documents]
+\GetFileInfoSVN*
+\let\svnmulti@date\filedate
+\let\svnmulti@rev\filerev
\documentclass{ltxdoc}
+\def\svnmulti@today#1/#2/#3\relax{%
+ \begingroup
+ \year#1\relax
+ \month#2\relax
+ \day#3\relax
+ \xdef\svnmulti@today{\today}
+ \endgroup
+}
+\expandafter\svnmulti@today\svnmulti@date\relax
+
\usepackage{svn-multi}[\svnmulti@date]
\usepackage{booktabs}
\usepackage{ifpdf}
@@ -277,6 +280,7 @@
%\OnlyDescription
\widowpenalty=500
\clubpenalty=500
+\listfiles
\begin{document}
\DocInput{svn-multi.dtx}%
\PrintChanges
@@ -287,7 +291,7 @@
%<*package>
% \fi
%
-% \CheckSum{2652}
+% \CheckSum{2728}
%
% {\makeatother
% \CharacterTable
@@ -330,8 +334,8 @@
% support, auto-include of images, files as subgroups and table of revisions.}
% \changes{v2.1}{2009/03/27}{Added automatic extraction of keywords from
% Subversion 'entries' file: 'autokw' option}
-% \changes{v2.1a}{2009/04/21}{Bugfix for macros which external if switches which
-% might not be defined by all classes}
+% \changes{v2.2}{2009/10/19}{Added \css{ifsvnmodified} and
+% \css{ifsvnfilemodified} macros. Some bug fixes.}
%
% ^^A \GetFileInfo{svn-multi.dtx}
%
@@ -856,6 +860,22 @@
% macros. You can \eg say |\svnkwdef{Rev}{123}| and then typeset it with
% |\svnkw{Revision}| or |\svnkw{LastChangedRev}| if you like.
%
+% \subsubsection*{New in version 2.2. Will change in future versions:}
+% \DescribeMacro{ifsvnfilemodified}{\marg{case:~modified}\marg{case:~not
+% modified}}
+% \DescribeMacro*{ifsvnmodified}{\marg{case:~modified}\marg{case:~not modified}}
+% This two macro can be used to check if either the current or any file was
+% modified after it was last checked into the repository. At the moment (v2.2) a
+% file is marked `modified' if there is either a `|*|' or `|M|' after the
+% revision number, \eg `|$||Rev: 123M $|'. Such an marker is automatically added
+% for exported files (`|svn export|') if there where locally modified, but can
+% also be added manually.
+%
+% Future versions of this package might mark files as modified by use of the
+% \op{autokw} option which can read this information out of the working
+% directory Subversion entries.
+%
+% \newpage
% \subsection{Accessing Date Values}\label{sec:date}
% \begin{tabular}{@{}l@{\hspace{-2\macrosep}}l@{\hspace{-2\macrosep}}l@{}}\\
% \DescribeMacro*{svnyear}{}&
@@ -1001,7 +1021,6 @@
% Please note that you can't use \pkg{hyperref}'s |\nolinkurl| because it won't
% expand \cs{svnkw}.
%
-%
% \subsection{Table of Revisions}\label{sec:table}
% Version 2.0 introduces this new feature which allows a overview table to be
% typeset which holds the version control information of all files of the
@@ -1385,8 +1404,9 @@
% \subsubsection*{Package Identification}
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-\ProvidesPackage{svn-multi}
- [\svnmulti@date\space\svnmulti@version\space SVN Keywords for multi-file LaTeX documents]
+\ProvidesPackageSVN
+ {$Id: svn-multi.dtx 1448 2009-10-19 21:28:41Z martin $}
+ [\svnmulti@version\space SVN Keywords for multi-file LaTeX documents]
% \end{macrocode}
% \subsubsection*{Options}
@@ -1587,22 +1607,22 @@
% \begin{macro}{\svn@ifvalidrev}[1]{macro name}
% Checks if the given macro (by name) is a valid revision, \ie defined and
-% greater than zero.
+% not equal to the init value.
% \begin{macrocode}
\def\svn@ifvalidrev#1{%
\begingroup
\@ifundefined{#1}%
- {\def\svn@temp{-1}}%
+ {\let\svn@temp\svn@revinit}%
{\expandafter\edef
\expandafter\svn@temp\expandafter{\csname #1\endcsname}}%
- \ifnum\svn@temp>-1\relax
+ \ifnum\svn@temp=\svn@revinit\relax
\endgroup
\expandafter
- \@firstoftwo
+ \@secondoftwo
\else
\endgroup
\expandafter
- \@secondoftwo
+ \@firstoftwo
\fi
}
% \end{macrocode}
@@ -1666,7 +1686,7 @@
% \subsection{Definition of init values}
% Initialisation of at least the revision to a numeric value is necessary to not
% break the |\ifnum| tests later in this package. The revision is initialised to
-% -1, but will be set to 0 if an unexpanded |$||Rev:$| keyword is read. This way
+% -2, but will be set to 0 if an unexpanded |$||Rev:$| keyword is read. This way
% it can be tested if a file had any keyword macros or not.\par
% Note that there a two different macros for the document global keywords:\par
% The user level |\svn|\meta{kw} macros hold the global value and are only valid
@@ -1684,7 +1704,10 @@
% |\svn@g|\meta{current group}|@|\meta{kw}.
% \begin{macrocode}
% Init values
-\def\svnrev{-1} \def\@svn@rev{-1}
+\def\svn@revinit{-2}
+\let\svnrev\svn@revinit \let\@svn@rev\svn@revinit
+\let\ifsvnmodified\@secondoftwo
+\def\@svn@modified{@secondoftwo}%
\def\svndate{} \def\@svn@date{}
\def\svnauthor{} \def\@svn@author{}
\def\svnyear{0000} \def\@svn@year{0000}
@@ -1703,7 +1726,8 @@
\let\@svng@@files\relax
\def\svn@initfile{%
- \gdef\svnfilerev{-1}%
+ \global\let\svnfilerev\svn@revinit
+ \global\let\ifsvnfilemodified\@secondoftwo
\gdef\svnfiledate{}%
\gdef\svnfileauthor{}%
\gdef\svnfileyear{0000}%
@@ -1719,6 +1743,8 @@
\gdef\svnfiledir{}%
}
\svn@initfile
+
+\newif\ifsvn@modified
% \end{macrocode}
% \subsection{Auto-Keywords}
@@ -2115,6 +2141,11 @@
% \begin{macrocode}
\def\@svn@updateid#1#2#3#4{%
\xdef\svnfilerev{#1}%
+ \ifsvn@modified
+ \global\let\ifsvnfilemodified\@firstoftwo
+ \else
+ \global\let\ifsvnfilemodified\@secondoftwo
+ \fi
\xdef\svnfiledate{#2}%
\xdef\svnfileauthor{#3}%
\xdef\svnfileurl{#4}%
@@ -2127,6 +2158,7 @@
\ifx\svnfilerev\empty\else
\ifnum\@svn@rev<\svnfilerev
\xdef\@svn@rev{\svnfilerev}%
+ \xdef\@svn@modified{\ifsvnfilemodified{@firstoftwo}{@secondoftwo}}%
\xdef\@svn@date{\svnfiledate}%
\xdef\@svn@author{\svnfileauthor}%
\xdef\@svn@year{\svnfileyear}%
@@ -2167,10 +2199,10 @@
% We clear the keyword value first to reduce the risk though bad user input.
% \begin{macrocode}
\newcommand{\svnidlong}{%
- \svnkwdef{HeadURL}{}%
- \svnkwdef{LastChangedDate}{}%
- \svnkwdef{LastChangedRevision}{0}%
- \svnkwdef{LastChangedBy}{}%
+ \svnkwdef{URL}{}%
+ \svnkwdef{Date}{}%
+ \svnkwdef{Revision}{0}%
+ \svnkwdef{Author}{}%
% \end{macrocode}
% The catcodes are changed by \cs{svn@catcodes} to allow \TeX-special characters
% inside the keywords. The braces |{ }| are changed to allow comments between
@@ -2248,11 +2280,11 @@
% \end{macrocode}
% Now the update macros for date and id are called.
% \begin{macrocode}
- \ifx\svnkwLastChangedDate\empty\else
- \@svn@scanlongdate{\svnkwLastChangedDate}%
+ \ifx\svnkwDate\empty\else
+ \@svn@scanlongdate{\svnkwDate}%
\fi
- \@svn@updateid{\svnkw{LastChangedRevision}}{\svnkw{LastChangedDate}}%
- {\svnkw{LastChangedBy}}{\svnkw{HeadURL}}%
+ \@svn@updateid{\svnkw{Revision}}{\svnkw{Date}}%
+ {\svnkw{Author}}{\svnkw{URL}}%
\ignorespaces
}%
% \end{macrocode}
@@ -2356,12 +2388,29 @@
%
% The keywords |Author| and |Date| are just calling \cs{svnkwdef@} with a fixed
% first argument. For the revision the value is checked if empty and then a 0
-% is substituted.
+% is substituted. Also a temp counter is used to strip any trailing characters
+% like `M' which indicate an exported and modified file.
% \begin{macrocode}
\def\svnkwdef@Rev#1{%
\svn@ifempty{#1}%
{\svnkwdef@{Rev}{0}}%
- {\svnkwdef@{Rev}{#1}}%
+ {%
+ \afterassignment\svnkwdef@Rev@
+ \@tempcnta=#1\relax
+ }%
+}
+\def\svnkwdef@Rev@#1\relax{%
+ \svnkwdef@{Rev}{\the\@tempcnta}%
+ \def\svn@temp{#1}%
+ \if M\svn@temp\relax
+ \global\svn@modifiedtrue
+ \else
+ \if *\svn@temp\relax
+ \global\svn@modifiedtrue
+ \else
+ \global\svn@modifiedfalse
+ \fi
+ \fi
}
\def\svnkwdef@Author#1{\svnkwdef@{Author}{#1}}
\def\svnkwdef@Date#1{\svnkwdef@{Date}{#1}}
@@ -2373,14 +2422,14 @@
\let\svnkwdef@Revision=\svnkwdef@Rev
\let\svnkwdef@LastChangedRevision=\svnkwdef@Rev
\let\svnkwdef@LastChangedBy=\svnkwdef@Author
-\let\svnkwdef@LastChangedAt=\svnkwdef@Date
+\let\svnkwdef@LastChangedDate=\svnkwdef@Date
% \end{macrocode}
% and then for reading.
% \begin{macrocode}
\def\svnkwRevision{\svnkwRev}
\def\svnkwLastChangedRevision{\svnkwRev}
\def\svnkwLastChangedBy{\svnkwAuthor}
-\def\svnkwLastChangedAt{\svnkwDate}
+\def\svnkwLastChangedDate{\svnkwDate}
\def\svnkwURL{\svnkwHeadURL}
% \end{macrocode}
% So \eg |\svnkw{LastChangedRevision}| is always be the
@@ -2860,6 +2909,7 @@ Try a different version, e.g. v2.1.1 from 2008/02/27}{}%
{\svnfilefname}%
{\svn@g}%
{\svn@pg}%
+ {\ifsvnfilemodified{@firstoftwo}{@secondoftwo}}%
}\svn@filestack}%
}
@@ -2867,7 +2917,7 @@ Try a different version, e.g. v2.1.1 from 2008/02/27}{}%
\svn@restorefilekws@#1\empty
\empty \empty \empty \empty
\empty \empty \empty \empty
- \empty \empty \empty \empty
+ \empty \empty \empty \empty \empty
\svn@ifempty{#2}%
{\gdef\svn@filestack{{}}}%
{\gdef\svn@filestack{#2}}%
@@ -2885,13 +2935,15 @@ Try a different version, e.g. v2.1.1 from 2008/02/27}{}%
\svn@restorefilekws@@
}
-\def\svn@restorefilekws@@#1#2#3#4#5#6{%
+\def\svn@restorefilekws@@#1#2#3#4#5#6#7{%
\gdef\svnfiletimezonehour{#1}%
\gdef\svnfiletimezoneminute{#2}%
\gdef\svnfileurl{#3}%
\gdef\svnfilefname{#4}%
\gdef\svn@g{#5}%
\gdef\svn@pg{#6}%
+ \expandafter\global\expandafter\let
+ \expandafter\ifsvnfilemodified\csname#7\endcsname%
}
\def\svn@popfilestack{%
@@ -3200,7 +3252,7 @@ Try a different version, e.g. v2.1.1 from 2008/02/27}{}%
% Initialises group.
% \begin{macrocode}
\def\svn@initgroup#1{%
- \svn@gkwset{#1}{rev}{-1}%
+ \svn@gkwset{#1}{rev}{\svn@revinit}%
\svn@gkwset{#1}{date}{}%
\svn@gkwset{#1}{author}{}%
\svn@gkwset{#1}{year}{0000}%
@@ -3306,7 +3358,7 @@ Try a different version, e.g. v2.1.1 from 2008/02/27}{}%
% file keyword information is written.
% \begin{macrocode}
\def\svn@subgroup#1{%
- \ifnum\svnfilerev>-1\relax
+ \ifnum\svnfilerev=\svn@revinit\else
\expandafter\ifx\csname svn@g@#1\endcsname\relax%
\expandafter\gdef\csname svn@g@#1\endcsname{1}%
\svn@updategroup{#1}%
@@ -4115,6 +4167,7 @@ patch generated macros '\string\pgf@image@<name>!' from the 'pgf' package!}%
\immediate\write\svn@write{^^J%
\@percentchar\space Global values:^^J%
\noexpand\def\noexpand\svnrev{\@svn@rev}^^J%
+ \noexpand\let\noexpand\ifsvnmodified\@backslashchar\@svn@modified^^J%
\noexpand\def\noexpand\svndate{\@svn@date}^^J%
\noexpand\def\noexpand\svnauthor{\@svn@author}^^J%
\noexpand\def\noexpand\svnyear{\@svn@year}^^J%
@@ -4305,7 +4358,7 @@ patch generated macros '\string\pgf@image@<name>!' from the 'pgf' package!}%
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{svnkw}
- [2009/03/27 v2.1 Backward compatibility wrapper for svn-multi]
+ [2009/03/27 v2.1 Backward compatibility wrapper for svn-multi]
\PackageWarning{svnkw}{The package 'svnkw' got renamed to 'svn-multi' and is now
only a backward compatibility wrapper which loads 'svn-multi'. Please adjust
your document preamble to use the new name.}
diff --git a/Master/texmf-dist/tex/latex/svn-multi/svn-multi.sty b/Master/texmf-dist/tex/latex/svn-multi/svn-multi.sty
index ea4351cd212..33e43faeece 100644
--- a/Master/texmf-dist/tex/latex/svn-multi/svn-multi.sty
+++ b/Master/texmf-dist/tex/latex/svn-multi/svn-multi.sty
@@ -26,15 +26,12 @@
%% and the derived files svn-multi.sty, svnkw.sty and svn-multi.pl.
%%
\makeatletter
-\def\svnmulti@version {v2.1a}
-\def\svnmulti@rev $#1: #2 ${\def\svnmulti@rev{#2}}
-\def\svnmulti@date $#1: #2-#3-#4 #5 ${\def\svnmulti@date{#2/#3/#4}}
-\svnmulti@rev $Rev: 845 $\relax
-\svnmulti@date $Date: 2009-04-21 13:03:08 +0100 (Tue, 21 Apr 2009) $\relax
-
+\def\svnmulti@version{v2.2}
+\RequirePackage{svn-prov}
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-\ProvidesPackage{svn-multi}
- [\svnmulti@date\space\svnmulti@version\space SVN Keywords for multi-file LaTeX documents]
+\ProvidesPackageSVN
+ {$Id: svn-multi.dtx 1448 2009-10-19 21:28:41Z martin $}
+ [\svnmulti@version\space SVN Keywords for multi-file LaTeX documents]
\RequirePackage{kvoptions}
@@ -201,17 +198,17 @@
\def\svn@ifvalidrev#1{%
\begingroup
\@ifundefined{#1}%
- {\def\svn@temp{-1}}%
+ {\let\svn@temp\svn@revinit}%
{\expandafter\edef
\expandafter\svn@temp\expandafter{\csname #1\endcsname}}%
- \ifnum\svn@temp>-1\relax
+ \ifnum\svn@temp=\svn@revinit\relax
\endgroup
\expandafter
- \@firstoftwo
+ \@secondoftwo
\else
\endgroup
\expandafter
- \@secondoftwo
+ \@firstoftwo
\fi
}
@@ -246,7 +243,10 @@
\svn@popfilestack
}
-\def\svnrev{-1} \def\@svn@rev{-1}
+\def\svn@revinit{-2}
+\let\svnrev\svn@revinit \let\@svn@rev\svn@revinit
+\let\ifsvnmodified\@secondoftwo
+\def\@svn@modified{@secondoftwo}%
\def\svndate{} \def\@svn@date{}
\def\svnauthor{} \def\@svn@author{}
\def\svnyear{0000} \def\@svn@year{0000}
@@ -265,7 +265,8 @@
\let\@svng@@files\relax
\def\svn@initfile{%
- \gdef\svnfilerev{-1}%
+ \global\let\svnfilerev\svn@revinit
+ \global\let\ifsvnfilemodified\@secondoftwo
\gdef\svnfiledate{}%
\gdef\svnfileauthor{}%
\gdef\svnfileyear{0000}%
@@ -282,6 +283,8 @@
}
\svn@initfile
+\newif\ifsvn@modified
+
\begingroup
\@makeother\^^L
@@ -512,6 +515,11 @@
\def\@svn@updateid#1#2#3#4{%
\xdef\svnfilerev{#1}%
+ \ifsvn@modified
+ \global\let\ifsvnfilemodified\@firstoftwo
+ \else
+ \global\let\ifsvnfilemodified\@secondoftwo
+ \fi
\xdef\svnfiledate{#2}%
\xdef\svnfileauthor{#3}%
\xdef\svnfileurl{#4}%
@@ -519,6 +527,7 @@
\ifx\svnfilerev\empty\else
\ifnum\@svn@rev<\svnfilerev
\xdef\@svn@rev{\svnfilerev}%
+ \xdef\@svn@modified{\ifsvnfilemodified{@firstoftwo}{@secondoftwo}}%
\xdef\@svn@date{\svnfiledate}%
\xdef\@svn@author{\svnfileauthor}%
\xdef\@svn@year{\svnfileyear}%
@@ -552,10 +561,10 @@
\newcommand{\svnidlong}{%
- \svnkwdef{HeadURL}{}%
- \svnkwdef{LastChangedDate}{}%
- \svnkwdef{LastChangedRevision}{0}%
- \svnkwdef{LastChangedBy}{}%
+ \svnkwdef{URL}{}%
+ \svnkwdef{Date}{}%
+ \svnkwdef{Revision}{0}%
+ \svnkwdef{Author}{}%
\begingroup
\if@svnmulti@verbatim
\svn@catcodes
@@ -596,11 +605,11 @@
\svnkwsave@read #3\relax
\svnkwsave@read #4\relax
\endgroup
- \ifx\svnkwLastChangedDate\empty\else
- \@svn@scanlongdate{\svnkwLastChangedDate}%
+ \ifx\svnkwDate\empty\else
+ \@svn@scanlongdate{\svnkwDate}%
\fi
- \@svn@updateid{\svnkw{LastChangedRevision}}{\svnkw{LastChangedDate}}%
- {\svnkw{LastChangedBy}}{\svnkw{HeadURL}}%
+ \@svn@updateid{\svnkw{Revision}}{\svnkw{Date}}%
+ {\svnkw{Author}}{\svnkw{URL}}%
\ignorespaces
}%
@@ -652,7 +661,23 @@
\def\svnkwdef@Rev#1{%
\svn@ifempty{#1}%
{\svnkwdef@{Rev}{0}}%
- {\svnkwdef@{Rev}{#1}}%
+ {%
+ \afterassignment\svnkwdef@Rev@
+ \@tempcnta=#1\relax
+ }%
+}
+\def\svnkwdef@Rev@#1\relax{%
+ \svnkwdef@{Rev}{\the\@tempcnta}%
+ \def\svn@temp{#1}%
+ \if M\svn@temp\relax
+ \global\svn@modifiedtrue
+ \else
+ \if *\svn@temp\relax
+ \global\svn@modifiedtrue
+ \else
+ \global\svn@modifiedfalse
+ \fi
+ \fi
}
\def\svnkwdef@Author#1{\svnkwdef@{Author}{#1}}
\def\svnkwdef@Date#1{\svnkwdef@{Date}{#1}}
@@ -660,11 +685,11 @@
\let\svnkwdef@Revision=\svnkwdef@Rev
\let\svnkwdef@LastChangedRevision=\svnkwdef@Rev
\let\svnkwdef@LastChangedBy=\svnkwdef@Author
-\let\svnkwdef@LastChangedAt=\svnkwdef@Date
+\let\svnkwdef@LastChangedDate=\svnkwdef@Date
\def\svnkwRevision{\svnkwRev}
\def\svnkwLastChangedRevision{\svnkwRev}
\def\svnkwLastChangedBy{\svnkwAuthor}
-\def\svnkwLastChangedAt{\svnkwDate}
+\def\svnkwLastChangedDate{\svnkwDate}
\def\svnkwURL{\svnkwHeadURL}
\svnkwdef{Rev}{0}
@@ -920,6 +945,7 @@ Try a different version, e.g. v2.1.1 from 2008/02/27}{}%
{\svnfilefname}%
{\svn@g}%
{\svn@pg}%
+ {\ifsvnfilemodified{@firstoftwo}{@secondoftwo}}%
}\svn@filestack}%
}
@@ -927,7 +953,7 @@ Try a different version, e.g. v2.1.1 from 2008/02/27}{}%
\svn@restorefilekws@#1\empty
\empty \empty \empty \empty
\empty \empty \empty \empty
- \empty \empty \empty \empty
+ \empty \empty \empty \empty \empty
\svn@ifempty{#2}%
{\gdef\svn@filestack{{}}}%
{\gdef\svn@filestack{#2}}%
@@ -945,13 +971,15 @@ Try a different version, e.g. v2.1.1 from 2008/02/27}{}%
\svn@restorefilekws@@
}
-\def\svn@restorefilekws@@#1#2#3#4#5#6{%
+\def\svn@restorefilekws@@#1#2#3#4#5#6#7{%
\gdef\svnfiletimezonehour{#1}%
\gdef\svnfiletimezoneminute{#2}%
\gdef\svnfileurl{#3}%
\gdef\svnfilefname{#4}%
\gdef\svn@g{#5}%
\gdef\svn@pg{#6}%
+ \expandafter\global\expandafter\let
+ \expandafter\ifsvnfilemodified\csname#7\endcsname%
}
\def\svn@popfilestack{%
@@ -1136,7 +1164,7 @@ Try a different version, e.g. v2.1.1 from 2008/02/27}{}%
}
\def\svn@initgroup#1{%
- \svn@gkwset{#1}{rev}{-1}%
+ \svn@gkwset{#1}{rev}{\svn@revinit}%
\svn@gkwset{#1}{date}{}%
\svn@gkwset{#1}{author}{}%
\svn@gkwset{#1}{year}{0000}%
@@ -1194,7 +1222,7 @@ Try a different version, e.g. v2.1.1 from 2008/02/27}{}%
}
\def\svn@subgroup#1{%
- \ifnum\svnfilerev>-1\relax
+ \ifnum\svnfilerev=\svn@revinit\else
\expandafter\ifx\csname svn@g@#1\endcsname\relax%
\expandafter\gdef\csname svn@g@#1\endcsname{1}%
\svn@updategroup{#1}%
@@ -1634,6 +1662,7 @@ patch generated macros '\string\pgf@image@<name>!' from the 'pgf' package!}%
\immediate\write\svn@write{^^J%
\@percentchar\space Global values:^^J%
\noexpand\def\noexpand\svnrev{\@svn@rev}^^J%
+ \noexpand\let\noexpand\ifsvnmodified\@backslashchar\@svn@modified^^J%
\noexpand\def\noexpand\svndate{\@svn@date}^^J%
\noexpand\def\noexpand\svnauthor{\@svn@author}^^J%
\noexpand\def\noexpand\svnyear{\@svn@year}^^J%
diff --git a/Master/texmf-dist/tex/latex/svn-multi/svnkw.sty b/Master/texmf-dist/tex/latex/svn-multi/svnkw.sty
deleted file mode 100644
index b3aa179102a..00000000000
--- a/Master/texmf-dist/tex/latex/svn-multi/svnkw.sty
+++ /dev/null
@@ -1,38 +0,0 @@
-%%
-%% This is file `svnkw.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% svn-multi.dtx (with options: `wrapper')
-%%
-%% This is a generated file.
-%%
-%% Copyright (C) 2006-2009 by Martin Scharrer <martin@scharrer-online.de>
-%%
-%% 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 Martin Scharrer.
-%%
-%% This work consists of the files svn-multi.dtx, svn-multi-pl.dtx, svn-multi.ins
-%% and the derived files svn-multi.sty, svnkw.sty and svn-multi.pl.
-%%
-\makeatletter
-\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-\ProvidesPackage{svnkw}
- [2009/03/27 v2.1 Backward compatibility wrapper for svn-multi]
-\PackageWarning{svnkw}{The package 'svnkw' got renamed to 'svn-multi' and is now
-only a backward compatibility wrapper which loads 'svn-multi'. Please adjust
-your document preamble to use the new name.}
-\RequirePackage{svn-multi}
-\endinput
-%%
-%% End of file `svnkw.sty'.