---
name: "Analizo::Command::tree_evolution"
section: "3pm"
platform: "linux"
package: "analizo"
version: "1.25.5-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Analizo::Command::tree_evolution"
---

# Analizo::Command::tree\_evolution(3pm)

watch the evolution of the source code

## NAME

analizo-tree-evolution - watch the evolution of the source code

## USAGE

```
  analizo tree-evolution [OPTIONS]
```

## DESCRIPTION

Watch the evolution of the source code tree in a Git repository.

When run inside a Git repository, **analizo tree-evolution** will output all different sets of directories found in the project's history. For each commit in which a new directory was added or removed, you will have the commit hash and a snapshot of the source code tree at that commit.

For example, consider the following sample execution of **analizo** **tree-evolution** against a sample Git repository:

```
  $ analizo tree-evolution
  # 073290fbad0254793bd3ecfb97654c04368d0039
  src
  # 85f7db08f7b7b0b62e3c0023b2743d529b0d5b4b
  src
  src/input
  # f41cf7d0351e812285efd60c6d957c330b1f61a1
  src
  src/input
  src/output
```

The output shows us the following information:

- •

  Commit *073290fbad0254793bd3ecfb97654c04368d0039* was the first commit in the project, and back then the project had a "src" directory.

- •

  In commit *85f7db08f7b7b0b62e3c0023b2743d529b0d5b4b*, a directory called src/input was added to the tree.

- •

  Finally, commit *f41cf7d0351e812285efd60c6d957c330b1f61a1* introduced another directory called src/output.

analizo tree-evolution is part of the analizo suite.

## OPTIONS

- \--language LANGUAGE, -l LANGUAGE

  Filters the source tree by language. When determining the contents of the source tree, only consider directories that contain files that match the expected file extensions for LANGUAGE.

  LANGUAGE can be one of *c*, *cpp* and *java*. The default behaviour is to consider all files in the repository.

## COPYRIGHT AND AUTHORS

See **analizo(1)**.
