redo-dot(1)

redo-dot1

Print redo dependency graph for the current directory

Usage

redo-dot [pattern]

Overview

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.

Bugs

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

From redo-sh 4.0.7-1 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.