/usr/share/quilt/graph is in quilt 0.61-1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | #! /bin/bash
# This script is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# See the COPYING and AUTHORS files for more details.
# Read in library functions
if [ "$(type -t patch_file_name)" != function ]
then
if ! [ -r $QUILT_DIR/scripts/patchfns ]
then
echo "Cannot read library $QUILT_DIR/scripts/patchfns" >&2
exit 1
fi
. $QUILT_DIR/scripts/patchfns
fi
whichtred=`which /usr/bin/tred`
if [ -z "$whichtred" ]
then
echo $"It seems that graphviz is currently not installed (unable to find the tred binary). You must install it to use 'quilt graph'."
exit 1
fi
usage()
{
printf $"Usage: quilt graph [--all] [--reduce] [--lines[=num]] [--edge-labels=files] [-T ps] [patch]\n"
if [ x$1 = x-h ]
then
printf $"
Generate a dot(1) directed graph showing the dependencies between
applied patches. A patch depends on another patch if both touch the same
file or, with the --lines option, if their modifications overlap. Unless
otherwise specified, the graph includes all patches that the topmost
patch depends on.
When a patch name is specified, instead of the topmost patch, create a
graph for the specified patch. The graph will include all other patches
that this patch depends on, as well as all patches that depend on this
patch.
--all Generate a graph including all applied patches and their
dependencies. (Unapplied patches are not included.)
--reduce
Eliminate transitive edges from the graph.
--lines[=num]
Compute dependencies by looking at the lines the patches modify.
Unless a different num is specified, two lines of context are
included.
--edge-labels=files
Label graph edges with the file names that the adjacent patches
modify.
-T ps Directly produce a PostScript output file.
"
exit 0
else
exit 1
fi
}
options=`getopt -o T:h --long all,reduce,lines::,edge-labels: -- "$@"`
if [ $? -ne 0 ]
then
usage
fi
eval set -- "$options"
while true
do
case "$1" in
-T) if [ "$2" != ps ]; then
usage
fi
opt_format=ps
shift 2 ;;
--all)
opt_all=1
shift ;;
--reduce)
opt_reduce=1
shift ;;
--lines)
opt_lines=${2:-2}
shift 2 ;;
--edge-labels)
if [ "$2" != files ]
then
usage
fi
opt_edge_labels=$2
shift 2 ;;
-h)
usage -h ;;
--)
shift
break ;;
esac
done
if [ $# -gt 1 -o \( $# -ne 0 -a -n "$opt_all" \) ]
then
usage
fi
if [ -z "$opt_all" ]
then
patch=$(find_applied_patch "$1") || exit 1
fi
options=
[ -n "$patch" ] && options="--select-patch $patch"
[ -n "$opt_reduce" ] && options="$options --reduce"
[ "$opt_edge_labels" = files ] && options="$options --edge-files"
[ -n "$opt_lines" ] && options="$options --lines=$opt_lines"
pipe=
[ -n "$opt_format" ] && pipe="| dot -T$opt_format"
applied_patches \
| eval $QUILT_DIR/scripts/dependency-graph $options - $pipe
### Local Variables:
### mode: shell-script
### End:
# vim:filetype=sh
|