                                                                                                                                                                                                                   ┌────────────────────┐
                                                                                                                                                                                                              ┌───▶│      gix-pack      │◀┐
                                                                                                                                                                                                              │    └────────────────────┘ │
                                                                                                                                                                                                              │                           │
                                                                                                                                                                                                            write                      output
                                                                                                                                                                                                           bundle                         │
                                                                                                                                                                                                              │                           │
                                                                                                                                                                                                              │                           │
                                                                                                                                                                                                              │                           │
                                                                                                                                                                                                              │                           │
                                                                                                                                                                                                              │                           │
                                                                                                                                                                                                              │                           │
                                                                                                                                                                                                   ╔════════════════════╗      ╔════════════════════╗
                                                                                                                                                                                                   ║     write-pack     ║      ║   generate-pack    ║
                                                                                                                                                                                                   ╚════════════════════╝      ╚════════════════════╝
                                                                                                                                                                                                              ▲                           ▲
                                                                                                                                                                                                              │                           │
                                                                                                            ╔════════════════════╗                                                                            │                           │
                                                 ┌─────────────────────────────────────────────────────────▶║     Submodules     ║                                                                            │                           │
                                                 │                                                          ╚════════════════════╝                                                                            │                           │
                                                 │                                                                     ▲                                                                           ╔════════════════════╗      ╔════════════════════╗
                                                 │                                                                     │                                                                           ║   Fetch Changes    ║◀──┬─▶║    Push Changes    ║
                                                 │                                                                     │                                                                           ╚════════════════════╝   │  ╚════════════════════╝
                                                 │                                                                     │                                                                                      ▲             │             ▲
                                                 │   ╔═══════════════════╗                      ╔══════════════╗       │                                                                                      │             │             │
                                                 │   ║gix-worktree-state ║                      ║  gix-status  ║       │                                                                                      │             │             │
                                                 │   ╚═══════════════════╝                      ╚══════════════╝       │                                                                                      │             │             │
                                                 │             ▲                                        ▲              │                          ┌────────────────────┐         ╔════════════════════╗       │             │             │
                                                 │             │                                        │              │                          │     imara-diff     │────────▶║     Blob-Diff      ║       │             │             │
                                                 │             │                                        │              │                          └────────────────────┘         ╚════════════════════╝       │             └─────────────┼────────────────────────┐
                                                 │             │                                        │              │                                                                    ▲                 │                           │                        │
                                                 │             │                                        │              │                                                                    │                 └──────────────┬────────────┘                        │
                                                 │             └─────────────────────┬──────────────────┘              └───────────────────────────────────────────────────────────────┐    │                                │                                     │
                                                 │                                   │                                                                                                 │    │                                │                                     │
                                                 │                                   │                                                ╔════════════════════╗  ╔══════════════════╗     │    │    ╔═══════════════╗           │                                     │
                                                 │                                   │                                                ║      Describe      ║  ║ Traverse Commits ║     │    │    ║   Tree-Diff   ║           │                                     │
                                                 │                                   │                                                ╚════════════════════╝  ╚══════════════════╝     │    │    ╚═══════════════╝           │                                     │
                                                 │                                   │                                                           ▲                      ▲              │    │            ▲                   │                                     │
    ╔════════════════════╗              ╔════════════════╗                 ╔═══════════════════╗                                                 │                      │              │    │            │                   │                                     │
    ║    gix-archive     ║              ║ gix-submodule  ║        ┌───────▶║   gix-worktree    ║◀──────────┐                                     │                      │              │    │            │                   │                                     │
    ╚════════════════════╝              ╚════════════════╝        │        ╚═══════════════════╝           │                                     │                      │              │    │            │                   │                                     │
               ▲                                 ▲                │                  ▲                     │                                     ├──────────────────────┼──────────────┼────┴────────────┤                   │                                     │
               │                                 │                │                  │                     │                                     │                      │              │                 │                   │                                     │
               │                                 │                │                  │                     │                                     │                      │              │                 │                   │                                     │
               │                                 │                │                  │                     │                                     │                      │              │                 │                   │                                     │
               │                                 │                │                  │                     │                                     │                      │              │                 │                   │                                     │
               │                                 │                │                  │                     │                                     │                      │   ╔════════════════════╗       │         ╔═══════════════════╗                           │
               │                                 │                │                  │                     │                                     │ ┌────────────────────┼──▶║     Repository     ║───────┼────────▶║      Remote       ║                           │
               │                                 │                │                  │                     │                                     │ │                    │   ╚════════════════════╝       │         ╚═══════════════════╝                           │
 ╔═══════════════════════════╗          ╔════════════════╗        │                  │           ╔═══════════════════╗    ╔═══════════════════╗  │ │                    │              ▲                 │                   ▲                                     │
 ║    gix-worktree-stream    ║          ║  gix-pathspec  ║◀─┐     │         ┌────────┴──────┐    ║     gix-index     ║    ║   gix-revision    ║──┘ │                    │              │       ╔═══════════════════╗         │                                     │
 ╚═══════════════════════════╝          ╚════════════════╝  │     │         │               │    ╚═══════════════════╝    ╚═══════════════════╝    │                    └──────────────┼───────║   gix-traverse    ║         │                                     │
               ▲                                 ▲          │     │         │               │                                                      │                                   │       ╚═══════════════════╝         │                                     │
               │                                 │          │     │         │               │                                                      │                                   │                                     │                                     │
               │                                 │          │     │         │               │                                                      │           ┌───────────────────────┼───────────────────────┐             │                                     │
               │                                 │          │     │         │               │                                                      │           │                       │                       │             ├────────────┐                        │
               │                                 │          │     │         │               │                                                      │           │                       │                       │             │            │                        │
               │                                 │          │     │         │               │                                                      │           │                       │                       │             │            │                        │
               │                                 │          │     │         │               │                                                      │           │                       │                       │             │            │                        │
               │                                 │          │     │         │               │                                                      │           │                       │                       │             │            │                        │
               │                        ╔════════════════╗  │     │  ╔════════════╗  ╔════════════╗                                                │           │                       │                       │             │            │                        │
               └────────────────────────║ gix-attributes ║──┼─────┴─▶║ gix-filter ║  ║ gix-ignore ║                                                │ ╔═══════════════════╗      ╔════════════╗      ╔═════════════════════╗  │            │             ╔════════════════════╗
                                        ╚════════════════╝  │        ╚════════════╝  ╚════════════╝                                                │ ║  Object Storage   ║      ║ References ║      ║    Configuration    ║  │  ╔═══════════════════╗   ║    gix-protocol    ║
                                                 ▲          │                               ▲                                                      │ ║     (gix-odb)     ║      ║ (gix-ref)  ║      ║    (gix-config)     ║  │  ║  gix-credentials  ║   ╚════════════════════╝
                                                 │          │                               │                                                      │ ╚═══════════════════╝      ╚════════════╝      ╚═════════════════════╝  │  ╚═══════════════════╝              ▲
                                                 │          │                               │                                                      │           ▲                       ▲                                     │                                     │
                                                 │          │                               │                                                      │           │                       │                                     │                                     │
                                                 │          │                               │                                                      │           │                       │                                     │                                     │
                                                 │          │                               │                                                      │           │                       │                           ╔═══════════════════╗               ╔════════════════════╗
                                                 │          │                               │                                                      │           └───────────────────────┤                           ║    gix-refspec    ║               ║   gix-transport    ║
                                                 │          │                               │                                                      │                                   │                           ╚═══════════════════╝               ╚════════════════════╝
                                          ╔═════════════╗   │                               │          ╔═══════════════════╗                       │                                   │                                                                          ▲
                                          ║  gix-glob   ║───┴───────────────────────────────┘          ║    gix-mailmap    ║                       │                                   │                                                                          │
                                          ╚═════════════╝                                              ╚═══════════════════╝                       │                                   │                                                   ┌──────────────────────┼────────────────────────┐
                                                                                                                                                   │                                   │                                                   │                      │                        │
                                                                                                                                      ╔═════════════════════════╗      ╔══════════════════════════════╗                                    │                      │                        │
                                                                                                                                      ║  Repository Discovery   ║      ║      Temp and Lockfiles      ║                           ╔═════════════════╗ ╔═══════════════════════╗ ╔════════════════════╗
                                                                                                                                      ║     (gix-discover)      ║      ║  (gix-tempfile & gix-lock)   ║                           ║  Ssh Transport  ║ ║  Git Local Transport  ║ ║  Https-Transport   ║
                                                                                                                                      ╚═════════════════════════╝      ╚══════════════════════════════╝                           ╚═════════════════╝ ╚═══════════════════════╝ ╚════════════════════╝





┌───────────────────────────────────────────────────────────┐       ┌──────────────────────────────────────────────────────────┐        ┌──────────────────────────────────────────────────────────┐       ┌─────────────────────────────────────────────────────────────────────────┐
│                                                           │       │                                                          │        │                                                          │       │                                                                         │
│               _                         _   _             │       │            _                  _     _           _        │        │               _             _               _            │       │              _              __           _                              │
│              (_)                       | | | |            │       │           (_)                | |   (_)         | |       │        │              (_)           | |             | |           │       │             (_)            / _|         | |                             │
│          __ _ ___  ________ _ __   __ _| |_| |__          │       │       __ _ ___  ________ ___ | |__  _  ___  ___| |_      │        │          __ _ ___  ________| |__   __ _ ___| |__         │       │         __ _ ___  ________| |_ ___  __ _| |_ _   _ _ __ ___  ___        │
│         / _` | \ \/ /______| '_ \ / _` | __| '_ \         │       │      / _` | \ \/ /______/ _ \| '_ \| |/ _ \/ __| __|     │        │         / _` | \ \/ /______| '_ \ / _` / __| '_ \        │       │        / _` | \ \/ /______|  _/ _ \/ _` | __| | | | '__/ _ \/ __|       │
│        | (_| | |>  <       | |_) | (_| | |_| | | |        │       │     | (_| | |>  <      | (_) | |_) | |  __/ (__| |_      │        │        | (_| | |>  <       | | | | (_| \__ \ | | |       │       │       | (_| | |>  <       | ||  __/ (_| | |_| |_| | | |  __/\__ \       │
│         \__, |_/_/\_\      | .__/ \__,_|\__|_| |_|        │       │      \__, |_/_/\_\      \___/|_.__/| |\___|\___|\__|     │        │         \__, |_/_/\_\      |_| |_|\__,_|___/_| |_|       │       │        \__, |_/_/\_\      |_| \___|\__,_|\__|\__,_|_|  \___||___/       │
│          __/ |             | |                            │       │       __/ |                       _/ |                   │        │          __/ |                                           │       │         __/ |                                                           │
│         |___/              |_|                            │       │      |___/                       |__/                    │        │         |___/                                            │       │        |___/                                                            │
│                                                           │       │                                                          │        │                                                          │       │                                                                         │
└───────────────────────────────────────────────────────────┘       └──────────────────────────────────────────────────────────┘        └──────────────────────────────────────────────────────────┘       └─────────────────────────────────────────────────────────────────────────┘

                                                                                       ┌─────────────────────────────────────────────────────────────────────────────┐
                                                                                       │                                                                             │
                                                                                       │             _                              _        _   _ _                 │
                                                                                       │            (_)                            | |      | | | (_)                │
                                                                                       │        __ _ ___  ________ _ __   __ _  ___| | _____| |_| |_ _ __   ___      │
                                                                                       │       / _` | \ \/ /______| '_ \ / _` |/ __| |/ / _ \ __| | | '_ \ / _ \     │
                                                                                       │      | (_| | |>  <       | |_) | (_| | (__|   <  __/ |_| | | | | |  __/     │
                                                                                       │       \__, |_/_/\_\      | .__/ \__,_|\___|_|\_\___|\__|_|_|_| |_|\___|     │
                                                                                       │        __/ |             | |                                                │
                                                                                       │       |___/              |_|                                                │
                                                                                       │                                                                             │
                                                                                       └─────────────────────────────────────────────────────────────────────────────┘