From 4ddd51c59ed362cd2edcfa86d818b51bbfcdb8c3 Mon Sep 17 00:00:00 2001 From: Anatoli Babenia Date: Mon, 13 Jul 2020 06:23:12 +0300 Subject: [PATCH 1/2] Add map with branches and dimensions to diagram (fixes #155) Key: Map: * = merge done manually o-0-1-2..-131 upstream/master . = merge done automatically 1 # = conflict that is currently blocking progress : @ = merge was blocked but has been resolved 11 ? = no merge recorded eliaszs/feature/individual_account |,-,+ = rectangles forming current merge frontier Co-authored-by: Michael Haggerty --- gitimerge.py | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) mode change 100644 => 100755 gitimerge.py diff --git a/gitimerge.py b/gitimerge.py old mode 100644 new mode 100755 index 90997ba..970e67d --- a/gitimerge.py +++ b/gitimerge.py @@ -1,3 +1,5 @@ +#!/usr/bin/env python3 + # -*- coding: utf-8 -*- # Copyright 2012-2013 Michael Haggerty @@ -3930,20 +3932,25 @@ def cmd_diagram(parser, options): merge_frontier.write_html(html, merge_state.name) html.close() sys.stdout.write( - 'Key:\n' + 'Key: Map:\n' + ) + sys.stdout.write( + ' * = merge done manually o-0-1-2..-%(len1)d %(tip1)s\n' + ' . = merge done automatically 1\n' + ' # = conflict that is currently blocking progress :\n' + ' @ = merge was blocked but has been resolved %(len2)5d\n' + ' ? = no merge recorded %(tip2)s\n' + '' % { + 'tip1': merge_state.tip1, + 'tip2': merge_state.tip2, + 'len1': merge_state.len1-1, + 'len2': merge_state.len2-1} ) if options.frontier: sys.stdout.write( ' |,-,+ = rectangles forming current merge frontier\n' ) - sys.stdout.write( - ' * = merge done manually\n' - ' . = merge done automatically\n' - ' # = conflict that is currently blocking progress\n' - ' @ = merge was blocked but has been resolved\n' - ' ? = no merge recorded\n' - '\n' - ) + sys.stdout.write('\n') def reparent_recursively(git, start_commit, parents, end_commit): From 638f4b883bbcce31fdac6fc14be79c049be9dd67 Mon Sep 17 00:00:00 2001 From: Anatoli Babenia Date: Wed, 31 Mar 2021 17:52:50 +0300 Subject: [PATCH 2/2] Fix x axis on minimap when there are < 4 commits Map: o-0-1 single-dockerfile 1 : 235 upstream/master And if there are more than 4. Map: o-0-1-2..4 single-dockerfile 1 : 235 upstream/master --- gitimerge.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/gitimerge.py b/gitimerge.py index 970e67d..e1e942c 100755 --- a/gitimerge.py +++ b/gitimerge.py @@ -3934,17 +3934,26 @@ def cmd_diagram(parser, options): sys.stdout.write( 'Key: Map:\n' ) + + # axis for minimap + lastx = merge_state.len1-1 + lasty = merge_state.len2-1 + if lastx < 4: + xaxis = 'o-' + '-'.join(str(i) for i in range(lastx+1)) + else: + xaxis = 'o-0-1-2..' + str(lastx) + xaxis += ' %s' % str(merge_state.tip1) + sys.stdout.write( - ' * = merge done manually o-0-1-2..-%(len1)d %(tip1)s\n' + ' * = merge done manually %(xaxis)s\n' ' . = merge done automatically 1\n' ' # = conflict that is currently blocking progress :\n' ' @ = merge was blocked but has been resolved %(len2)5d\n' ' ? = no merge recorded %(tip2)s\n' '' % { - 'tip1': merge_state.tip1, + 'xaxis': xaxis, 'tip2': merge_state.tip2, - 'len1': merge_state.len1-1, - 'len2': merge_state.len2-1} + 'len2': lasty} ) if options.frontier: sys.stdout.write(