+contrib/pijul2svg.sh (license as usual: GPL-2.0-or-later)

[?]
Feb 14, 2021, 4:51 PM
SL45MHGVMBZRSCYCOPWYTXJEY3WKRLELNYXLBYUOT6MKLSRSUCPAC

Dependencies

Change contents

  • file addition: contrib (dxwrx-rx-r)
    [1.0]
  • file addition: pijul2svg.sh (-xwrx-rx-r)
    [0.10]
    #!/bin/bash
    REPO="$(pijul remote | grep -F nest.pijul.com | sed -e 's/ //g')"
    if echo "$REPO" | grep -Fq '@'; then
    # ssh url
    REPO="https://$(echo "$REPO" | cut -f2 -d@ | sed -e 's#:#/#g')"
    fi
    if [ -z "$REPO" ]; then
    echo "WARN: unable to get repo url" 1>&2
    fi
    TMPFB="$(mktemp)"
    trap 'rm -f $TMPFB' EXIT
    (
    echo 'digraph PCG {'
    #echo 'nodesep = 5;'
    echo 'overlap = scale;'
    echo 'node [shape=none,target="_blank"];'
    # mark important nodes
    for i; do
    echo "\"$i\" [fontcolor=\"#0000FF\"];"
    echo "$i" >> "$TMPFB"
    done
    pijul log | grep ^Change | while read DUMMY ID; do
    pijul change "$ID" | awk -v oid="$ID" -v collf="$TMPFB" '
    $1 == "#" {
    section = $2;
    }
    $1 != "#" && $2 != "" && section == "Dependencies" && $1 != "[*]" && substr($1,length($1),1) != "+" {
    print "\"" oid "\" -> \"" $2 "\"" extra ";";
    print $2 >> collf;
    }
    '
    echo "$ID" >> "$TMPFB"
    done
    sort -u < "$TMPFB" | while read ID; do
    echo "\"$ID\" [URL=\"$REPO/changes/$ID\"]";
    done
    echo '}'
    ) | sfdp -Tsvg /dev/stdin -o /dev/stdout