From 69be133cfab4e2b51d58c5051335a42817b4a9eb Mon Sep 17 00:00:00 2001 From: Peter Schaefer Date: Wed, 2 Jan 2019 23:13:41 +0100 Subject: [PATCH] [py]minor bugfix --- git-log-to-tikz.py | 18 ++++++++++++------ git1.tex | 27 +++++++++++++++------------ text-output.pdf | Bin 53397 -> 53828 bytes 3 files changed, 27 insertions(+), 18 deletions(-) diff --git a/git-log-to-tikz.py b/git-log-to-tikz.py index b8a5da2..3d63a12 100755 --- a/git-log-to-tikz.py +++ b/git-log-to-tikz.py @@ -43,8 +43,10 @@ class Commit: def export_to_tikz(self, ypos): print("\\node[commit, " + "blue" + ", fill=" + "blue" + "] (" + self._hash + ") at (" + str(.5 * self._node_pos) + "," + str(ypos) + ") {};") print("\\node[right,xshift=10] (label_" + self._hash + ") at (" + self._hash + ".east) {\\verb!" + self._hash + ": " + self._message + "!};") - for child in self._children.itervalues(): - print("\\path[" + "blue" +"] (" + self._hash + ") to[out=90,in=-90] (" + child._hash + ");") + #for child in self._children.itervalues(): + # print("\\path[" + "blue" +"] (" + self._hash + ") to[out=90,in=-90] (" + child._hash + ");") + + class Branch: def __init__(self, line): self._hash="" @@ -73,8 +75,8 @@ class Repo: self._commits[commit._hash] = commit def resolve_parents(self): - for key_c, commit in self._commits.iteritems(): - for key_p, parent in commit._parents.iteritems(): + for commit in self._commits.values(): + for key_p in commit._parents.keys(): commit.update_parent(self._commits[key_p]) def add_branch(self, branch): @@ -89,9 +91,13 @@ class Repo: print("\\tikzstyle{branch}=[draw,rectangle,rounded corners=3,fill=white,inner sep=2pt,minimum size=5pt]") ypos = 0 ystep = -.5 - for key_c,commit in self._commits.iteritems(): + for commit in self._commits.values(): commit.export_to_tikz(ypos) ypos = ypos + ystep + + for commit in self._commits.values(): + for child in commit._children.values(): + print("\\path[" + "blue" +"] (" + commit._hash + ") to[out=90,in=-90] (" + child._hash + ");") for branch in self._branches: print("\\node[branch,right,xshift=10] (" + branch._name + ") at (label_" + branch._hash + ".east) {\\lstinline{" + branch._name +"}};") @@ -103,7 +109,7 @@ class Repo: r = Repo() # extract Commits -cmd = "git log --graph --oneline --parents" +cmd = "git log --branches --graph --oneline --parents" return_output = check_output(cmd, shell=True) #print(return_output.split("\n")) diff --git a/git1.tex b/git1.tex index 37d960c..6cced47 100644 --- a/git1.tex +++ b/git1.tex @@ -2,23 +2,26 @@ \tikzstyle{commit}=[draw,circle,fill=white,inner sep=0pt,minimum size=5pt] \tikzstyle{every path}=[draw] \tikzstyle{branch}=[draw,rectangle,rounded corners=3,fill=white,inner sep=2pt,minimum size=5pt] -\node[commit, blue, fill=blue] (3dbbd41) at (0.0,0) {}; +\node[commit, blue, fill=blue] (da268ea) at (0.0,0) {}; +\node[right,xshift=10] (label_da268ea) at (da268ea.east) {\verb!da268ea: [py] Export copy finished!}; +\node[commit, blue, fill=blue] (3dbbd41) at (0.0,-0.5) {}; \node[right,xshift=10] (label_3dbbd41) at (3dbbd41.east) {\verb!3dbbd41: [py] commit & branch läuft!}; -\node[commit, blue, fill=blue] (afd6f5a) at (0.0,-0.5) {}; +\node[commit, blue, fill=blue] (afd6f5a) at (0.0,-1.0) {}; \node[right,xshift=10] (label_afd6f5a) at (afd6f5a.east) {\verb!afd6f5a: [py] Commit funktioniert!}; -\path[blue] (afd6f5a) to[out=90,in=-90] (3dbbd41); -\node[commit, blue, fill=blue] (9ebee64) at (0.0,-1.0) {}; +\node[commit, blue, fill=blue] (9ebee64) at (0.0,-1.5) {}; \node[right,xshift=10] (label_9ebee64) at (9ebee64.east) {\verb!9ebee64: [py] init & git shell!}; -\path[blue] (9ebee64) to[out=90,in=-90] (afd6f5a); -\node[commit, blue, fill=blue] (d78896f) at (0.0,-1.5) {}; +\node[commit, blue, fill=blue] (d78896f) at (0.0,-2.0) {}; \node[right,xshift=10] (label_d78896f) at (d78896f.east) {\verb!d78896f: [doc] kleine änderrung!}; -\path[blue] (d78896f) to[out=90,in=-90] (e5c3cd5); -\node[commit, blue, fill=blue] (e5c3cd5) at (0.0,-2.0) {}; -\node[right,xshift=10] (label_e5c3cd5) at (e5c3cd5.east) {\verb!e5c3cd5: added Ruby Skript!}; -\path[blue] (e5c3cd5) to[out=90,in=-90] (9ebee64); \node[commit, blue, fill=blue] (a6f6d74) at (0.0,-2.5) {}; \node[right,xshift=10] (label_a6f6d74) at (a6f6d74.east) {\verb!a6f6d74: Grober Latex Test!}; +\node[commit, blue, fill=blue] (e5c3cd5) at (0.0,-3.0) {}; +\node[right,xshift=10] (label_e5c3cd5) at (e5c3cd5.east) {\verb!e5c3cd5: added Ruby Skript!}; +\path[blue] (3dbbd41) to[out=90,in=-90] (da268ea); +\path[blue] (afd6f5a) to[out=90,in=-90] (3dbbd41); +\path[blue] (9ebee64) to[out=90,in=-90] (afd6f5a); +\path[blue] (d78896f) to[out=90,in=-90] (e5c3cd5); \path[blue] (a6f6d74) to[out=90,in=-90] (d78896f); -\node[branch,right,xshift=10] (feature/python) at (label_3dbbd41.east) {\lstinline{feature/python}}; -\node[branch,right,xshift=10] (master) at (label_e5c3cd5.east) {\lstinline{master}}; +\path[blue] (e5c3cd5) to[out=90,in=-90] (9ebee64); +\node[branch,right,xshift=10] (feature/python) at (label_da268ea.east) {\lstinline{feature/python}}; +\node[branch,right,xshift=10] (master) at (label_da268ea.east) {\lstinline{master}}; \end{tikzpicture} diff --git a/text-output.pdf b/text-output.pdf index f3cf990d5430b20722170163fe6cbb5e4adbb9f0..58280c809fcdecbe04a397219817dec82e0bf5d1 100644 GIT binary patch delta 18461 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