from subprocess import check_output
from collections import OrderedDict
-import re
+from re import compile, match
# Importer fast fertig
# Aber die light Variante
-hashpat = re.compile(r"[a-f0-9]{7}")
-linepat = re.compile(r'[^|\/\\]')
+hashpat = compile(r"[a-f0-9]{7}")
+linepat = compile(r'[^|\/\\]')
colors = ["black", "blue", "brown", "cyan", "darkgray", "gray", "green", "lightgray", "lime", "magenta", "olive", "orange", "pink", "purple", "red", "teal", "violet", "white", "yellow"]
print("\\tikzstyle{branch}=[draw,rectangle,rounded corners=3,fill=white,inner sep=2pt,minimum size=5pt]")
ypos = 0
ystep = .5
- for commit in self._commits.values():
+ for commit in reversed(self._commits.values()):
commit.export_to_tikz(ypos)
ypos = ypos + ystep
return_output = check_output(cmd, shell=True)
#print(return_output.split("\n"))
-for line in reversed(return_output.split("\n")):
+for line in return_output.split("\n"):
if not line == "":
r.add_commit(Commit(line))
\node[right,xshift=10] (label_2256509) at (2256509.east) {\verb!2256509: [py] fixed automatic colors!};
\node[commit, black, fill=black] (6e41ab0) at (0.0,6.0) {};
\node[right,xshift=10] (label_6e41ab0) at (6e41ab0.east) {\verb!6e41ab0: [py] fixed order!};
-\node[commit, blue, fill=blue] (16d4f59) at (0.5,6.5) {};
-\node[right,xshift=10] (label_16d4f59) at (16d4f59.east) {\verb!16d4f59: [doc] test!};
-\node[commit, black, fill=black] (53e02cf) at (0.0,7.0) {};
+\node[commit, blue, fill=blue] (53e02cf) at (0.5,6.5) {};
\node[right,xshift=10] (label_53e02cf) at (53e02cf.east) {\verb!53e02cf: [doc] test!};
-\node[commit, black, fill=black] (8dde7ec) at (0.0,7.5) {};
+\node[commit, blue, fill=blue] (8dde7ec) at (0.5,7.0) {};
\node[right,xshift=10] (label_8dde7ec) at (8dde7ec.east) {\verb!8dde7ec: [doc] neues Hooks!};
-\node[commit, black, fill=black] (8024ece) at (0.0,8.0) {};
+\node[commit, blue, fill=blue] (8024ece) at (0.5,7.5) {};
\node[right,xshift=10] (label_8024ece) at (8024ece.east) {\verb!8024ece: [doc] hook test!};
-\node[commit, black, fill=black] (7ef61eb) at (0.0,8.5) {};
+\node[commit, blue, fill=blue] (7ef61eb) at (0.5,8.0) {};
\node[right,xshift=10] (label_7ef61eb) at (7ef61eb.east) {\verb!7ef61eb: [doc] hooktest 2!};
-\node[commit, blue, fill=blue] (d477a13) at (0.5,9.0) {};
+\node[commit, brown, fill=brown] (d477a13) at (1.0,8.5) {};
\node[right,xshift=10] (label_d477a13) at (d477a13.east) {\verb!d477a13: [doc] neuer Branch!};
-\node[commit, black, fill=black] (b421fbe) at (0.0,9.5) {};
-\node[right,xshift=10] (label_b421fbe) at (b421fbe.east) {\verb!b421fbe: [py] new git order!};
-\path[black] (a6f6d74) to[out=90,in=-90] (d78896f);
-\path[black] (d78896f) to[out=90,in=-90] (e5c3cd5);
-\path[black] (e5c3cd5) to[out=90,in=-90] (9ebee64);
-\path[black] (9ebee64) to[out=90,in=-90] (afd6f5a);
-\path[black] (afd6f5a) to[out=90,in=-90] (3dbbd41);
-\path[black] (3dbbd41) to[out=90,in=-90] (da268ea);
-\path[black] (da268ea) to[out=90,in=-90] (69be133);
-\path[black] (da268ea) to[out=90,in=-90] (1af283b);
-\path[black] (1af283b) to[out=90,in=-90] (7ac7de4);
-\path[blue] (69be133) to[out=90,in=-90] (7ac7de4);
-\path[black] (7ac7de4) to[out=90,in=-90] (8a5d531);
-\path[black] (8a5d531) to[out=90,in=-90] (2256509);
-\path[black] (2256509) to[out=90,in=-90] (6e41ab0);
+\node[commit, black, fill=black] (16d4f59) at (0.0,9.0) {};
+\node[right,xshift=10] (label_16d4f59) at (16d4f59.east) {\verb!16d4f59: [doc] test!};
+\node[commit, blue, fill=blue] (d2bf877) at (0.5,9.5) {};
+\node[right,xshift=10] (label_d2bf877) at (d2bf877.east) {\verb!d2bf877: [py] new git order!};
+\node[commit, blue, fill=blue] (6b30984) at (0.5,10.0) {};
+\node[right,xshift=10] (label_6b30984) at (6b30984.east) {\verb!6b30984: [py] 2new git order!};
+\node[commit, black, fill=black] (feccffc) at (0.0,10.5) {};
+\node[right,xshift=10] (label_feccffc) at (feccffc.east) {\verb!feccffc: Merge branch 'develop'!};
+\node[commit, black, fill=black] (1b6432e) at (0.0,11.0) {};
+\node[right,xshift=10] (label_1b6432e) at (1b6432e.east) {\verb!1b6432e: merge successful!};
+\path[black] (feccffc) to[out=90,in=-90] (1b6432e);
+\path[blue] (6b30984) to[out=90,in=-90] (feccffc);
+\path[blue] (d2bf877) to[out=90,in=-90] (6b30984);
+\path[black] (16d4f59) to[out=90,in=-90] (feccffc);
+\path[blue] (7ef61eb) to[out=90,in=-90] (d477a13);
+\path[blue] (7ef61eb) to[out=90,in=-90] (d2bf877);
+\path[blue] (8024ece) to[out=90,in=-90] (7ef61eb);
+\path[blue] (8dde7ec) to[out=90,in=-90] (8024ece);
+\path[blue] (53e02cf) to[out=90,in=-90] (8dde7ec);
\path[black] (6e41ab0) to[out=90,in=-90] (16d4f59);
\path[black] (6e41ab0) to[out=90,in=-90] (53e02cf);
-\path[black] (53e02cf) to[out=90,in=-90] (8dde7ec);
-\path[black] (8dde7ec) to[out=90,in=-90] (8024ece);
-\path[black] (8024ece) to[out=90,in=-90] (7ef61eb);
-\path[black] (7ef61eb) to[out=90,in=-90] (d477a13);
-\path[black] (7ef61eb) to[out=90,in=-90] (b421fbe);
-\node[branch,right,xshift=10] (develop) at (label_7ef61eb.east) {\lstinline{develop}};
-\node[branch,right,xshift=10] (feature/python) at (label_b421fbe.east) {\lstinline{feature/python}};
+\path[black] (2256509) to[out=90,in=-90] (6e41ab0);
+\path[black] (8a5d531) to[out=90,in=-90] (2256509);
+\path[black] (7ac7de4) to[out=90,in=-90] (8a5d531);
+\path[blue] (69be133) to[out=90,in=-90] (7ac7de4);
+\path[black] (1af283b) to[out=90,in=-90] (7ac7de4);
+\path[black] (da268ea) to[out=90,in=-90] (69be133);
+\path[black] (da268ea) to[out=90,in=-90] (1af283b);
+\path[black] (3dbbd41) to[out=90,in=-90] (da268ea);
+\path[black] (afd6f5a) to[out=90,in=-90] (3dbbd41);
+\path[black] (9ebee64) to[out=90,in=-90] (afd6f5a);
+\path[black] (e5c3cd5) to[out=90,in=-90] (9ebee64);
+\path[black] (d78896f) to[out=90,in=-90] (e5c3cd5);
+\path[black] (a6f6d74) to[out=90,in=-90] (d78896f);
+\node[branch,right,xshift=10] (develop) at (label_6b30984.east) {\lstinline{develop}};
+\node[branch,right,xshift=10] (feature/python) at (label_6b30984.east) {\lstinline{feature/python}};
\node[branch,right,xshift=10] (feature/python2) at (label_d477a13.east) {\lstinline{feature/python2}};
-\node[branch,right,xshift=10] (master) at (label_16d4f59.east) {\lstinline{master}};
+\node[branch,right,xshift=10] (master) at (label_1b6432e.east) {\lstinline{master}};
\end{tikzpicture}