Kleinere Anpassungen; Scripte angepasst

This commit is contained in:
André Hilbig 2016-06-27 11:35:25 +02:00
parent 1b7c975dc7
commit 4c8616c309
5 changed files with 54 additions and 34 deletions

13
README
View File

@ -33,13 +33,20 @@
| Installation |
| |
Getting the files:
latex gitfile-info.ins
Getting the documentation:
latexmk -pdf gitfile-info.dtx
Copy the following files into a TeX-readable directory:
Copy the following file into a TeX-readable directory:
gitfile-info.sty
The following files are needed to make a new application:
Copy the hooks into .git/hooks:
post-commit
post-merge
The following files are needed to make a new documentation-table:
Copy the init-script into a executable directory, maybe within the git-repo to post it to the
other users:
gfi-run
| |
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+

View File

@ -156,11 +156,11 @@ pdftitle = {\LaTeX-package for reading git commit info for specific files}
}
Wenn Versionen von \LaTeX-Dateien mit git kontrolliert werden, dann kommt es vor, dass für
einen selbst, anderen Nutzern oder Entwicklern der aktuelle Entwicklungsstand der Datei,
einen selbst, andere Nutzern oder Entwickler der aktuelle Entwicklungsstand der Datei,
Hinweise zum Autor und dem Datum der letzten Bearbeitung im PDF gezeigt werden sollen. Mir
bekannte Pakete können zwar den Stand des Repositories auslesen, jedoch nicht für eine
bestimmte Datei unterscheiden. Allerdings wird manchmal mit vielen Dateien in einem Repository
gearbeitet, die jeweils in verschiedene Versionen vorliegen. Möglicherweise soll auch ein
gearbeitet, die jeweils in verschiedenen Versionen vorliegen. Möglicherweise soll auch ein
großes Projekt in mehrere \TeX-Dateien aufgeteilt werden. Dann soll dennoch für jede einzelne
Datei die Versionsinfo angezeigt werden können. Dieses Paket soll diese Funktionalität
liefern.
@ -171,7 +171,7 @@ pdftitle = {\LaTeX-package for reading git commit info for specific files}
\section{Änderungen}
\begin{description}
\item[v0.1] Veröffentlichung
\item[v0.1] Intialisierung und erste Veröffentlichung
\end{description}
\section{Installation}

29
gfi-run
View File

@ -7,8 +7,12 @@ import time
import codecs
from git import Repo
import locale
# Locales for date set up to de_DE
# Please edit to you needs
locale.setlocale(locale.LC_ALL, 'de_DE')
# set up the git repo
# path is the current working directory
pathrepo = os.getcwd()
repo = Repo(pathrepo)
assert not repo.bare
@ -16,15 +20,19 @@ git = repo.git
headcommit = repo.head.commit
index = repo.index
# check for specific file (else) or
# every tex file within the git
if len(sys.argv) <= 1:
# get all the files within the git
commFiles = git.ls_files(full_name=True).split("\n")
#commit = git.log('-1', format='%h').rstriMin
#cmt = subprocess.check_output('git log -1 --format="%s" ', shell=True).decode("utf-8").rstrip()
# iterate through all files and read date/author/commit and
# write in the help file
for fl in commFiles:
flname, flext = os.path.splitext(fl)
if flext == '.tex':
rawdate = int(git.log('-1', fl, pretty='format:"%at"').split('"')[1])
rawdate = int(git.log('-1', fl,
pretty='format:"%at"').split('"')[1])
date = [time.strftime("%d. %B %Y %H:%M", time.localtime(rawdate)),
time.strftime("%d", time.localtime(rawdate)),
time.strftime("%m", time.localtime(rawdate)),
@ -37,13 +45,14 @@ if len(sys.argv) <= 1:
git.log('-1', fl, pretty='format:"%h"').split('"')[1]]
f = codecs.open(flname+".gfi", "w", encoding="utf-8")
f.write("% gitfile-info control file\n")
f.write("\\gfiSetDate{" + date[1] + "}{" + date[2] + "}{" + date[3] + "}{"
+ date[4] + "}{" + date[5] + "}{" + date[0] + "}\n")
f.write("\\gfiSetDate{" + date[1] + "}{" + date[2] + "}{" + date[3]
+ "}{" + date[4] + "}{" + date[5] + "}{" + date[0] + "}\n")
f.write("\\gfiSetAuthor{" + author[0] + "}{" + author[1] + "}\n")
f.write("\\gfiSetCommit{" + commit[0] + "}{" + commit[1] + "}")
#print("\\gfiSet{" + date + "}{" + author + "}{" + commit + "}")
f.close
else:
# get the specific file, read date/author/commit and
# write the help file
fl = sys.argv[1]
flname, flext = os.path.splitext(fl)
rawdate = int(git.log('-1', fl, pretty='format:"%at"').split('"')[1])
@ -56,13 +65,11 @@ else:
author = [git.log('-1', fl, pretty='format:"%an"').split('"')[1],
git.log('-1', fl, pretty='format:"%ae"').split('"')[1]]
commit = [git.log('-1', fl, pretty='format:"%H"').split('"')[1],
git.log('-1', fl, pretty='format:"%h"').split('"')[1]]
git.log('-1', fl, pretty='format:"%h"').split('"')[1]]
f = codecs.open(flname+".gfi", "w", encoding="utf-8")
f.write("% gitfile-info control file\n")
f.write("\\gfiSetDate{" + date[1] + "}{" + date[2] + "}{" + date[3] + "}{"
+ date[4] + "}{" + date[5] + "}{" + date[0] + "}\n")
f.write("\\gfiSetDate{" + date[1] + "}{" + date[2] + "}{" + date[3]
+ "}{" + date[4] + "}{" + date[5] + "}{" + date[0] + "}\n")
f.write("\\gfiSetAuthor{" + author[0] + "}{" + author[1] + "}\n")
f.write("\\gfiSetCommit{" + commit[0] + "}{" + commit[1] + "}")
#print("\\gfiSet{" + date + "}{" + author + "}{" + commit + "}")
f.close

View File

@ -1,14 +1,17 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# -*- mode:python -*-
import sys
import os
import time
import codecs
from git import Repo
import locale
# Locales for date set up to de_DE
# Please edit to you needs
locale.setlocale(locale.LC_ALL, 'de_DE')
# set up the git repo
# path is the current working directory
pathrepo = os.getcwd()
repo = Repo(pathrepo)
assert not repo.bare
@ -16,8 +19,11 @@ git = repo.git
headcommit = repo.head.commit
index = repo.index
commFiles = git.diff_tree('-r', 'HEAD', no_commit_id=True, name_only=True).split("\n")
date = [time.strftime("%d. %B %Y %H:%M", time.localtime(headcommit.authored_date)),
# get the commited/changed files and date/author/commit
commFiles = git.diff_tree('-r', 'HEAD', no_commit_id=True,
name_only=True).split("\n")
date = [time.strftime("%d. %B %Y %H:%M",
time.localtime(headcommit.authored_date)),
time.strftime("%d", time.localtime(headcommit.authored_date)),
time.strftime("%m", time.localtime(headcommit.authored_date)),
time.strftime("%Y", time.localtime(headcommit.authored_date)),
@ -25,18 +31,15 @@ date = [time.strftime("%d. %B %Y %H:%M", time.localtime(headcommit.authored_date
time.strftime("%M", time.localtime(headcommit.authored_date))]
author = [headcommit.author.name, headcommit.author.email]
commit = [headcommit.hexsha, headcommit.hexsha[:6]]
#commit = git.log('-1', format='%h').rstrip()
#cmt = subprocess.check_output('git log -1 --format="%s" ', shell=True).decode("utf-8").rstrip()
# iterate through all files and write the gfi help-files
for fl in commFiles:
flname, flext = os.path.splitext(fl)
if flext == '.tex':
f = codecs.open(flname+".gfi", "w", encoding="utf-8")
f.write("% gitfile-info control file\n")
f.write("\\gfiSetDate{" + date[1] + "}{" + date[2] + "}{" + date[3] + "}{"
+ date[4] + "}{" + date[5] + "}{" + date[0] + "}\n")
f.write("\\gfiSetDate{" + date[1] + "}{" + date[2] + "}{" + date[3]
+ "}{" + date[4] + "}{" + date[5] + "}{" + date[0] + "}\n")
f.write("\\gfiSetAuthor{" + author[0] + "}{" + author[1] + "}\n")
f.write("\\gfiSetCommit{" + commit[0] + "}{" + commit[1] + "}")
#print("\\gfiSet{" + date + "}{" + author + "}{" + commit + "}")
f.close

View File

@ -6,8 +6,12 @@ import time
import codecs
from git import Repo
import locale
# Locales for date set up to de_DE
# Please edit to you needs
locale.setlocale(locale.LC_ALL, 'de_DE')
# set up the git repo
# path is the current working directory
pathrepo = os.getcwd()
repo = Repo(pathrepo)
assert not repo.bare
@ -15,11 +19,11 @@ git = repo.git
headcommit = repo.head.commit
index = repo.index
commFiles = git.diff_tree('-r', 'ORIG_HEAD', 'HEAD', no_commit_id=True, name_only=True).split("\n")
#commit = git.log('-1', format='%h').rstrip()
#cmt = subprocess.check_output('git log -1 --format="%s" ', shell=True).decode("utf-8").rstrip()
# get the commited/changed files and date/author/commit
commFiles = git.diff_tree('-r', 'ORIG_HEAD', 'HEAD',
no_commit_id=True, name_only=True).split("\n")
# iterate through all files and write the gfi help-files
for fl in commFiles:
flname, flext = os.path.splitext(fl)
if flext == '.tex':
@ -36,9 +40,8 @@ for fl in commFiles:
git.log('-1', fl, pretty='format:"%h"').split('"')[1]]
f = codecs.open(flname+".gfi", "w", encoding="utf-8")
f.write("% gitfile-info control file\n")
f.write("\\gfiSetDate{" + date[1] + "}{" + date[2] + "}{" + date[3] + "}{"
+ date[4] + "}{" + date[5] + "}{" + date[0] + "}\n")
f.write("\\gfiSetDate{" + date[1] + "}{" + date[2] + "}{" + date[3]
+ "}{" + date[4] + "}{" + date[5] + "}{" + date[0] + "}\n")
f.write("\\gfiSetAuthor{" + author[0] + "}{" + author[1] + "}\n")
f.write("\\gfiSetCommit{" + commit[0] + "}{" + commit[1] + "}")
#print("\\gfiSet{" + date + "}{" + author + "}{" + commit + "}")
f.close