Directed Acyclic Graphs
Introduction to DAGs
Main Content
Concept and Properties
Practical Examples and Use Cases
Benefits and Applications
Considerations and Limitations
Current State and Trends
Future Outlook
Conclusion
Notes from the Rabbit Hole
ai-labs/studies/sync-and-content-version-control ). The article above covers
DAGs as they appear in data pipelines and epidemiology. These are notes on the
other place the acronym turns up constantly — version history — plus the
cluster of acronyms that always seem to arrive with it. The plain-language version
- Graph — dots connected by lines. The dots are called nodes , the lines are called edges . Nothing more exotic than that.
- Directed — the lines are arrows. They point one way.
- Acyclic — you can never follow the arrows in a circle back to where you started.
Why version history is a DAG
- Two changes sharing one parent = a branch . Two people worked from the same starting point.
- One change with two parents = a merge . Those two lines of work came back together.
- Git commits carry a list of parent hashes.
- Seafile's
Commitstruct carriesParentIDandSecondParentID— one for the ordinary case, the second one appearing exactly when a merge happened. - Conflict Free Replicated Data Types like Automerge give every change a
depsfield: the hashes of the changes it depends on. Same shape, finer grain — a node per edit rather than per commit. - Jujutsu keeps two DAGs: the ordinary change graph, and a second operation log recording repository-level operations, which is what lets
jj undoreverse "the agent restructured six blocks" as a single gesture.
Acronyms that travel with this one
| Acronym | Stands for | What it actually means |
| CRDT | Conflict-free Replicated Data Type | A data structure designed so that copies edited independently can always be merged automatically, with no human picking a winner. The trick is recording the operation rather than the result — two people each adding 1 to a counter yields 7, not 6. See Conflict Free Replicated Data Types . |
| DAG | Directed Acyclic Graph | This page. |
| CAS | Content-Addressed Storage | A file's name is the hash of its contents. Two consequences fall out for free: identical content is stored exactly once, and the name itself proves the content was not corrupted. |
| hash / SHA-256 | Secure Hash Algorithm, 256-bit | A function turning any amount of data into a short fixed-length fingerprint. Same input always gives the same fingerprint; two different inputs practically never collide. The engine under CAS and under every DAG above — the arrows are hashes. |
| CDC | Content-Defined Chunking | Cutting a large file into pieces at boundaries chosen by the content rather than at fixed byte offsets, so inserting one byte near the front does not shift every boundary after it. What makes syncing a large edited file cheap. |
| GC | Garbage Collection | The sweep that actually deletes data nothing points at any more. "It has no GC" means nothing is ever deleted — which for a CRDT is structural, not an oversight. |
| VCS | Version Control System | Git, Jujutsu, Mercurial. The category. |
| FUSE | Filesystem in Userspace | Lets an ordinary program pretend to be a disk, so its contents can be browsed as normal folders. How backup tools let you look inside a repository without restoring it. See File System . |
| P2P | Peer-to-Peer | Machines talk to each other directly, with no server in the middle. |
| NAT | Network Address Translation | The router behaviour that puts your machine behind a shared public address. NAT traversal is the considerable plumbing required to get two machines behind two different routers to find each other — a large fraction of what a sync tool actually does. |
Citations
[k8fdxc] 2025, Oct 06. Directed acyclic graph - Wikipedia . Published: 2003-03-31 | Updated: 2025-10-06
[njqy31] 2025, Oct 04. Introduction to Directed Acyclic Graph - GeeksforGeeks . Published: 2025-07-23 | Updated: 2025-10-04
[to06p7] 2025, Oct 06. Directed Acyclic Graph (DAG) Overview & Use Cases - Hazelcast . Published: 2025-08-15 | Updated: 2025-10-06
[z46be2] 2025, Sep 24. Tutorial on Directed Acyclic Graphs - PMC . Published: 2021-08-08 | Updated: 2025-09-24
[bt2eb6] 2025, Jul 01.
. Published: 2021-11-11 | Updated: 2025-07-01[b1ftmm] 2025, Jun 16. Directed Acyclic Graphs | Hedera . Published: 2025-01-06 | Updated: 2025-06-16