···33## Introduction
4455This document attempts to describe how jj is different
66-from [Sapling](sapling-scm.com). Sapling is a VCS developed by Meta. It is a
66+from [Sapling](https://sapling-scm.com). Sapling is a VCS developed by Meta. It is a
77heavily modified fork of [Mercurial](https://www.mercurial-scm.org/). Because
88jj has copied many ideas from Mercurial, there are many similarities between the
99two tools, such as:
+3-3
docs/technical/architecture.md
···76767777### Backend
78787979-The [`Backend`](../../lib/src/backend.rs) trait defines the interface each
7979+The `Backend` trait defines the interface each
8080commit backend needs to implement. The current in-tree commit backends
8181-are [`GitBackend`](../../lib/src/git_backend.rs)
8282-and [`LocalBackend`](../../lib/src/local_backend.rs).
8181+are `GitBackend`
8282+and `LocalBackend`.
83838484Since there are non-commit backends, the `Backend` trait should probably be
8585renamed to `CommitBackend`.
+2-2
docs/technical/concurrency.md
···6060contains a pointer to the view object (like how commit objects point to tree
6161objects), pointers to parent operation(s) (like how commit objects point to
6262parent commit(s)), and metadata about the operation. These types are defined
6363-[here](../../lib/protos/op_store.proto). The operation log is normally linear.
6363+in `op_store.proto` The operation log is normally linear.
6464It becomes non-linear if there are concurrent operations.
65656666When a command starts, it loads the repo at the latest operation. Because the
···9090are recorded in the resulting view object. For example, if branch `main` was
9191moved from commit A to commit B in one operation and moved to commit C in a
9292concurrent operation, then `main` will be recorded as "moved from A to B or C".
9393-See the `RefTarget` [definition](../../lib/protos/op_store.proto).
9393+See the `RefTarget` definition in `op_store.proto`.
94949595Because we allow branches (etc.) to be in a conflicted state rather than just
9696erroring out when there are multiple heads, the user can continue to use the