I'm using the rubber program (in Python, from Lauchpad) to process a LaTeX document (thru pdflatex called by rubber -d) on Debian/Sid/Linux (the document is some H2020 European R&D proposal). I have the version 1.4-2 of that rubber package.The LaTeX document and its directory is versionned using git.I want to have a LaTeX command there which gives the current git commit id, to be able to show that id in the generated PDF file.When I run the following shell command in my terminal :printf '\\newcommand{\\cgitcommitid}{%s}\n' $(git log --format=oneline --abbrev=16 --abbrev-commit -q | cut '-d ' -f1 | head -1)It gives me the expected output:\newcommand{\cgitcommitid}{99ad2f058a5c06d8}so I would like to generate that in some cgit-gitcommitid.tex generated file.I have the following cgit-rubber-rules.ini file:; This is our extra rules cgit-rubber-rules.ini file for Rubber; Rubber is a LaTeX driver in Python; see https://launchpad.net/rubber;; SVG figures produced by InkScape (see http://inkscape.org/ for more);; convert to PDF[cgit-inkscape-svg-to-pdf]target = (.*)\.pdfsource = \1.svgcost = 4rule = shellcommand = inkscape --without-gui --export-pdf=$target $source;; convert to EPS[cgit-inkscape-svg-to-eps]target = (.*)\.epssource = \1.svgcost = 4rule = shellcommand = inkscape --without-gui --export-eps=$target $source[cgit-gitcommitid-make]target = cgit-gitcommitid\.tex;source = \.gitcost = 3rule = shellcommand = printf '\\newcommand{\\cgitcommitid}{%s}\n' $(git log --format=oneline --abbrev=16 --abbrev-commit -q | cut '-d ' -f1 | head -1) > cgit-gitcommitid.texMy cgitprop.tex main LaTeX file has: % file cgitprop.tex \documentclass[11pt]{article} \usepackage[utf8]{inputenc} \usepackage{array} \usepackage{geometry} \usepackage[pdftex]{graphicx} \usepackage[usenames,dvipsnames,svgnames]{xcolor} \usepackage{svg} \usepackage{ifpdf} \usepackage{wasysym} \usepackage{multirow} \usepackage{hyperref} \usepackage{float} \usepackage{eurosym} \usepackage{longtable} \usepackage{fancyhdr} \usepackage{relsize} \usepackage{textcomp} \usepackage{alltt} \usepackage{marginnote} % rubber: module pdftex % rubber: module graphics % rubber: rules cgit-rubber-rules.ini % rubber: clean cgit-gitcommitid.tex % rubber: make cgit-gitcommitid.tex with cgit-gitcommitid-make from .git % rubber: watch cgit-gitcommitid.tex \input{cgit-gitcommitid}But when I run  rubber -v -v -d cgitprop the cgit-gitcommitid.tex file is not generated:   rubber -v -v -d cgitprop  This is Rubber version 1.4.  [latex] directive: module pdftex  [latex] built-in module pdftex registered  [latex] parsing /ssdhome/basile/CGIT2017FET/cgitprop.tex  [latex] script module article registered  [latex] built-in module graphicx registered  [latex] directive: produce cgitprop.out cgitprop.brf  [latex] directive: watch cgitprop.out  [latex] script module hyperref registered  [latex] directive: module pdftex  [latex] directive: module graphics  [latex] built-in module graphics registered  [latex] directive: rules cgit-rubber-rules.ini  [latex] directive: clean cgit-gitcommitid.tex  [latex] directive: make cgit-gitcommitid.tex with cgit-gitcommitid-make from .git  [latex] directive: watch cgit-gitcommitid.texand later  [leaf] 'cgit-gitcommitid.tex' does not existWhat am I doing wrong? Why isn't cgit-gitcommitid.tex properly generated?Uncommenting the ;source = \.git line -by removing the initial semicolon- in my cgit-rubber-rules.ini file does not change anything.Or do you know any LaTeX package available on Debian to generate the git information -the commit id-?also asked on launchpad & quora
generating git commit info with rubber (for LaTeX, Debian)
debian;python;git;latex