summaryrefslogtreecommitdiff
path: root/support/vc/git-unix/vc
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /support/vc/git-unix/vc
Initial commit
Diffstat (limited to 'support/vc/git-unix/vc')
-rw-r--r--support/vc/git-unix/vc43
1 files changed, 43 insertions, 0 deletions
diff --git a/support/vc/git-unix/vc b/support/vc/git-unix/vc
new file mode 100644
index 0000000000..63c737e4e3
--- /dev/null
+++ b/support/vc/git-unix/vc
@@ -0,0 +1,43 @@
+#!/bin/sh
+# This is file 'vc' from the vc bundle for TeX.
+# The original file can be found at CTAN:support/vc.
+# This file is Public Domain.
+
+# Parse command line options
+full=0
+mod=0
+while [ -n "$(echo $1 | grep '-')" ]; do
+ case $1 in
+ -f) full=1 ;;
+ -m) mod=1 ;;
+ * )
+ echo 'usage: vc [-f] [-m]'
+ exit 1
+ ;;
+ esac
+ shift
+done
+
+# Query all info from git log
+logformat=""
+logformat="${logformat}Hash: %H%n"
+logformat="${logformat}AbrHash: %h%n"
+logformat="${logformat}ParentHashes: %P%n"
+logformat="${logformat}AbrParentHashes: %p%n"
+logformat="${logformat}AuthorName: %an%n"
+logformat="${logformat}AuthorEmail: %ae%n"
+logformat="${logformat}AuthorDate: %ai%n"
+logformat="${logformat}CommitterName: %cn%n"
+logformat="${logformat}CommitterEmail: %ce%n"
+logformat="${logformat}CommitterDate: %ci%n"
+LC_ALL=C
+git --no-pager log -1 HEAD --pretty=format:"$logformat" \
+ | gawk -v script=log -v full=$full -f vc-git.awk \
+ > vc.tex
+
+# Query modification status of the working copy
+if [ "$mod" = 1 ]; then
+ git status --porcelain=v1 \
+ | gawk -v script=status -f vc-git.awk \
+ >> vc.tex
+fi