---
name: "redo-dot"
section: "1"
platform: "linux"
package: "redo-sh"
version: "4.0.7-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/redo-dot"
---

# 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)](/redo/1.md)* 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)](/dot/1.md)* from the Graphviz layout programs. If the current working directory is not a *[redo(1)](/redo/1.md)* 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)](/redo-stamp/1.md)* 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)](/dot/1.md).*

- **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)](/dot/1.md)*. The *[sed(1)](/sed/1.md)* 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)](/sh/1.md)*, *[redo(1)](/redo/1.md)*, *[redo-always(1)](/redo-always/1.md)*, *[redo-ifchange(1)](/redo-ifchange/1.md)*, *[redo-ifcreate(1)](/redo-ifcreate/1.md)*, *[redo-ood(1)](/redo-ood/1.md)*, *[redo-sources(1)](/redo-sources/1.md)*, *[redo-stamp(1)](/redo-stamp/1.md)*, *[redo-targets(1)](/redo-targets/1.md)*

## BUGS

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