Reference

redo-dot(1)

print redo dependency graph for the current directory

NAME

redo-dot - print redo dependency graph for the current directory

SYNOPSIS

redo-dot [pattern]

DESCRIPTION

redo(1) is a tool for building files and for rebuilding them if any of their dependencies have changed. redo-dot prints the dependency graph for the current directory in the file format consumed by dot(1) from the Graphviz layout programs. If the current working directory is not a redo(1) build directory, redo-dot exits with a status code indicating failure.

In the dependency graph, targets and sources are represented by nodes, dependencies are represented by solid edges, and non-existence dependencies are represented by dotted edges. Targets that have impossible to satisfy dependencies have a bold outline. Targets that are rebuilt depending on input to redo-stamp(1) have a dashed outline.

A pattern contains characters that match themselves and the meta-characters “!”, “*”, “?”, and “[”, which lose their special meanings if they are quoted. Asterisks (“*”) match any string of characters. Question marks (“?”) match any single character. Left brackets (“[”) and right brackets (“]”) indicate start and end of a character class. Character classes match any characters between brackets or a range of characters specified using a minus (“-”); to include literal minus, make it the first or last character. Exclamation marks (“!”) as the first character of any character class negates it.

EXAMPLES

redo-dot |dot -Tx11

shows the full dependency graph in an X11 window using dot(1).

redo-dot '*/stdio.h'

outputs a dependency graph with only nodes that match the pattern */stdio.h, dependencies of nodes that match the pattern, and nodes that depend on nodes that match the pattern.

redo-dot |sed s%"$(pwd)"/%%g >deps.dot; dot deps.dot -Tpng >deps.png

outputs the full dependency graph into a file named deps.dot, then generates a PNG (Portable Network Graphics) file named deps.png from it using dot(1). The sed(1) invocation removes the current working directory from the node names.

HISTORY

redo-dot was designed and implemented by Ælla Chiana Moskopp.

AUTHOR

redo-dot and this man page were written by Ælla Chiana Moskopp.

COPYRIGHT

Copyright © 2015-2016 Ælla Chiana Moskopp. License AGPLv3+: GNU Affero GPL version 3 or later <http://www.gnu.org/licenses/agpl-3.0.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

sh(1), redo(1), redo-always(1), redo-ifchange(1), redo-ifcreate(1), redo-ood(1), redo-sources(1), redo-stamp(1), redo-targets(1)

BUGS

redo-dot may break if the target filename contains a tab or newline character.