REDO-DOT(1) | General Commands Manual | REDO-DOT(1) |
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 Nils Dagsson Moskopp.
AUTHOR
redo-dot and this man page were written by Nils Dagsson Moskopp.
COPYRIGHT
Copyright © 2015-2016 Nils Dagsson 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.