From 840d3e745eeca7ef1acc6b5cd8aa2b357727296b Mon Sep 17 00:00:00 2001 From: dasman Date: Thu, 16 May 2024 03:28:09 +0300 Subject: [PATCH] bin/deg: fix graphing intertwined merges and forks --- bin/deg/deg | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/bin/deg/deg b/bin/deg/deg index 0dcd99052..feeb48bed 100755 --- a/bin/deg/deg +++ b/bin/deg/deg @@ -28,7 +28,7 @@ import src.util from os.path import join # this is counter-intuitive because the dag is reversed -resolved = True +resolved = [True, True] def graph(event, longest_path): global resolved @@ -36,15 +36,25 @@ def graph(event, longest_path): fork = len(event['children']) > 1 if merge and not fork: - resolved = False + if not resolved[0]: + resolved[1] = False + if resolved[0]: + resolved[0] = False + return "M━┑" + if fork and not merge: - resolved = True + if resolved[1]: + resolved[0] = True + if not resolved[1]: + resolved[1] = True + return "o─┘" + if merge and fork: return "M━┪" if not merge and not fork: - if not resolved: + if not resolved[0]: if event['hash'] in longest_path: return "o │" else: