diff --git a/docs/contributing.md b/docs/contributing.md index 3f1c1d69f..6bed3d4e7 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -60,7 +60,7 @@ Guidelines](https://opensource.google/conduct/). ## Learning Rust In addition to the [Rust Book](https://doc.rust-lang.org/book/) and the other -excellent resources at https://www.rust-lang.org/learn, we recommend the +excellent resources at , we recommend the ["Comprehensive Rust" mini-course](https://google.github.io/comprehensive-rust/) for an overview, especially if you are familiar with C++. @@ -195,7 +195,7 @@ any build errors or warnings. Warnings about `"GET /versions.json HTTP/1.1" code - Install the `protoc` compiler. This usually means either `apt-get install protobuf-compiler` or downloading [an official release]. The - [`prost` library docs] have additional advice. + `prost` [library docs] have additional advice. - Run `cargo run -p gen-protos` regularly (or after every edit to a `.proto` file). This is the same as running `cargo run` from `lib/gen-protos`. The `gen-protos` binary will use the `prost-build` library to compile the @@ -204,7 +204,7 @@ any build errors or warnings. Warnings about `"GET /versions.json HTTP/1.1" code these files in `lib/gen-protos/src/main.rs`. [an official release]: https://github.com/protocolbuffers/protobuf/releases -[`prost` library docs]: https://docs.rs/prost-build/latest/prost_build/#sourcing-protoc +[library docs]: https://docs.rs/prost-build/latest/prost_build/#sourcing-protoc The `.rs` files generated from `.proto` files are included in the repository, and there is a Github CI check that will complain if they do not match. diff --git a/docs/sapling-comparison.md b/docs/sapling-comparison.md index 8928c7da9..598364d9c 100644 --- a/docs/sapling-comparison.md +++ b/docs/sapling-comparison.md @@ -3,7 +3,7 @@ ## Introduction This document attempts to describe how jj is different -from [Sapling](sapling-scm.com). Sapling is a VCS developed by Meta. It is a +from [Sapling](https://sapling-scm.com). Sapling is a VCS developed by Meta. It is a heavily modified fork of [Mercurial](https://www.mercurial-scm.org/). Because jj has copied many ideas from Mercurial, there are many similarities between the two tools, such as: diff --git a/docs/technical/architecture.md b/docs/technical/architecture.md index 44199461d..b6f0bf594 100644 --- a/docs/technical/architecture.md +++ b/docs/technical/architecture.md @@ -76,10 +76,10 @@ graph TD; ### Backend -The [`Backend`](../../lib/src/backend.rs) trait defines the interface each +The `Backend` trait defines the interface each commit backend needs to implement. The current in-tree commit backends -are [`GitBackend`](../../lib/src/git_backend.rs) -and [`LocalBackend`](../../lib/src/local_backend.rs). +are `GitBackend` +and `LocalBackend`. Since there are non-commit backends, the `Backend` trait should probably be renamed to `CommitBackend`. diff --git a/docs/technical/concurrency.md b/docs/technical/concurrency.md index b95ff5dce..6d62b3b83 100644 --- a/docs/technical/concurrency.md +++ b/docs/technical/concurrency.md @@ -60,7 +60,7 @@ tags, and the working-copy commit in each workspace. The operation object contains a pointer to the view object (like how commit objects point to tree objects), pointers to parent operation(s) (like how commit objects point to parent commit(s)), and metadata about the operation. These types are defined -[here](../../lib/protos/op_store.proto). The operation log is normally linear. +in `op_store.proto` The operation log is normally linear. It becomes non-linear if there are concurrent operations. When a command starts, it loads the repo at the latest operation. Because the @@ -90,7 +90,7 @@ it will do a 3-way merge of the view objects based on their common ancestor are recorded in the resulting view object. For example, if branch `main` was moved from commit A to commit B in one operation and moved to commit C in a concurrent operation, then `main` will be recorded as "moved from A to B or C". -See the `RefTarget` [definition](../../lib/protos/op_store.proto). +See the `RefTarget` definition in `op_store.proto`. Because we allow branches (etc.) to be in a conflicted state rather than just erroring out when there are multiple heads, the user can continue to use the diff --git a/docs/templates.md b/docs/templates.md index 2ce5d9a1f..103352d5d 100644 --- a/docs/templates.md +++ b/docs/templates.md @@ -171,8 +171,11 @@ The following methods are defined. ## Configuration -[The default templates and aliases](../cli/src/config/templates.toml) are defined -in the `[templates]` and `[template-aliases]` sections respectively. +The default templates and aliases() are defined in the `[templates]` and +`[template-aliases]` sections of the config respectively. The exact definitions +can be seen in the `cli/src/config/templates.toml` file in jj's source tree. + + New keywords and functions can be defined as aliases, by using any combination of the predefined keywords/functions and other aliases.