Remo Senekowitsch
d76bcd9305
docs: clarify dynamic completion features
2024-11-29 21:22:38 +01:00
Ilya Grigoriev
1b96d27b66
cli git fetch: clarify the error for invalid branch names/globs
...
Create a clearer error when a branch name contains `*`.
Slightly clarify the error message for `?` in branch name/glob.
2024-11-29 11:27:05 -08:00
Ilya Grigoriev
d3a51cebb7
docs: add example glob to jj help git fetch
...
I tried to clarify the text a bit as well.
2024-11-29 11:27:05 -08:00
dependabot[bot]
e4231f2ce3
cargo: bump libc from 0.2.166 to 0.2.167 in the cargo-dependencies group
...
binaries / Build binary artifacts (push) Has been cancelled
nix / flake check (push) Has been cancelled
build / build (, macos-13) (push) Has been cancelled
build / build (, macos-14) (push) Has been cancelled
build / build (, ubuntu-latest) (push) Has been cancelled
build / build (, windows-latest) (push) Has been cancelled
build / build (--all-features, ubuntu-latest) (push) Has been cancelled
build / Build jj-lib without Git support (push) Has been cancelled
build / Check protos (push) Has been cancelled
build / Check formatting (push) Has been cancelled
build / Check that MkDocs can build the docs (push) Has been cancelled
build / Check that MkDocs can build the docs with latest Python and uv (push) Has been cancelled
build / cargo-deny (advisories) (push) Has been cancelled
build / cargo-deny (bans licenses sources) (push) Has been cancelled
build / Clippy check (push) Has been cancelled
Codespell / Codespell (push) Has been cancelled
website / prerelease-docs-build-deploy (ubuntu-latest) (push) Has been cancelled
Scorecards supply-chain security / Scorecards analysis (push) Has been cancelled
Bumps the cargo-dependencies group with 1 update: [libc](https://github.com/rust-lang/libc ).
Updates `libc` from 0.2.166 to 0.2.167
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.167/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.166...0.2.167 )
---
updated-dependencies:
- dependency-name: libc
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-11-30 00:20:14 +09:00
dependabot[bot]
172fbd40f1
cargo: bump tracing in the cargo-dependencies group
...
binaries / Build binary artifacts (push) Waiting to run
nix / flake check (push) Waiting to run
build / build (, macos-13) (push) Waiting to run
build / build (, macos-14) (push) Waiting to run
build / build (, ubuntu-latest) (push) Waiting to run
build / build (, windows-latest) (push) Waiting to run
build / build (--all-features, ubuntu-latest) (push) Waiting to run
build / Build jj-lib without Git support (push) Waiting to run
build / Check protos (push) Waiting to run
build / Check formatting (push) Waiting to run
build / Check that MkDocs can build the docs (push) Waiting to run
build / Check that MkDocs can build the docs with latest Python and uv (push) Waiting to run
build / cargo-deny (advisories) (push) Waiting to run
build / cargo-deny (bans licenses sources) (push) Waiting to run
build / Clippy check (push) Waiting to run
Codespell / Codespell (push) Waiting to run
website / prerelease-docs-build-deploy (ubuntu-latest) (push) Waiting to run
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
Bumps the cargo-dependencies group with 1 update: [tracing](https://github.com/tokio-rs/tracing ).
Updates `tracing` from 0.1.40 to 0.1.41
- [Release notes](https://github.com/tokio-rs/tracing/releases )
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-0.1.40...tracing-0.1.41 )
---
updated-dependencies:
- dependency-name: tracing
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-11-28 20:56:42 -06:00
dependabot[bot]
18012f170f
github: bump EmbarkStudios/cargo-deny-action
...
Bumps the github-dependencies group with 1 update: [EmbarkStudios/cargo-deny-action](https://github.com/embarkstudios/cargo-deny-action ).
Updates `EmbarkStudios/cargo-deny-action` from 2.0.2 to 2.0.3
- [Release notes](https://github.com/embarkstudios/cargo-deny-action/releases )
- [Commits](f87fcad0e6...2d8c9929d8
)
---
updated-dependencies:
- dependency-name: EmbarkStudios/cargo-deny-action
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-11-28 20:56:32 -06:00
Remo Senekowitsch
5fcc549eab
completion: teach commands about files
...
binaries / Build binary artifacts (push) Waiting to run
nix / flake check (push) Waiting to run
build / build (, macos-13) (push) Waiting to run
build / build (, macos-14) (push) Waiting to run
build / build (, ubuntu-latest) (push) Waiting to run
build / build (, windows-latest) (push) Waiting to run
build / build (--all-features, ubuntu-latest) (push) Waiting to run
build / Build jj-lib without Git support (push) Waiting to run
build / Check protos (push) Waiting to run
build / Check formatting (push) Waiting to run
build / Check that MkDocs can build the docs (push) Waiting to run
build / Check that MkDocs can build the docs with latest Python and uv (push) Waiting to run
build / cargo-deny (advisories) (push) Waiting to run
build / cargo-deny (bans licenses sources) (push) Waiting to run
build / Clippy check (push) Waiting to run
Codespell / Codespell (push) Waiting to run
website / prerelease-docs-build-deploy (ubuntu-latest) (push) Waiting to run
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
This is heavily based on Benjamin Tan's fish completions:
https://gist.github.com/bnjmnt4n/9f47082b8b6e6ed2b2a805a1516090c8
Some differences include:
- The end of a `--from`, `--to` ranges is also considered.
- `jj log` is not completed (yet). It has a different `--revisions` argument
that requires some special handling.
2024-11-28 15:34:39 +01:00
Martin von Zweigbergk
a5690beab5
test_merged_tree: avoid a temporary lifetime extension
...
binaries / Build binary artifacts (push) Waiting to run
nix / flake check (push) Waiting to run
build / build (, macos-13) (push) Waiting to run
build / build (, macos-14) (push) Waiting to run
build / build (, ubuntu-latest) (push) Waiting to run
build / build (, windows-latest) (push) Waiting to run
build / build (--all-features, ubuntu-latest) (push) Waiting to run
build / Build jj-lib without Git support (push) Waiting to run
build / Check protos (push) Waiting to run
build / Check formatting (push) Waiting to run
build / Check that MkDocs can build the docs (push) Waiting to run
build / Check that MkDocs can build the docs with latest Python and uv (push) Waiting to run
build / cargo-deny (advisories) (push) Waiting to run
build / cargo-deny (bans licenses sources) (push) Waiting to run
build / Clippy check (push) Waiting to run
Codespell / Codespell (push) Waiting to run
website / prerelease-docs-build-deploy (ubuntu-latest) (push) Waiting to run
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
I think it's just clearer to assign the owned value to the variable
than to assign a reference to a temporary value.
2024-11-27 18:53:28 -08:00
Martin von Zweigbergk
409be2e1c4
store: make get_tree()
functions take owned repo path
...
The function needs an owned value, so we might as well pass it one and
avoid a few clone calls.
2024-11-27 18:53:28 -08:00
Martin von Zweigbergk
b9e93923a9
merged_tree: avoid two unnecessary clones
2024-11-27 18:53:28 -08:00
Yuya Nishihara
bf17067861
config: replace LayeredConfigs with StackedConfig
...
binaries / Build binary artifacts (push) Waiting to run
nix / flake check (push) Waiting to run
build / build (, macos-13) (push) Waiting to run
build / build (, macos-14) (push) Waiting to run
build / build (, ubuntu-latest) (push) Waiting to run
build / build (, windows-latest) (push) Waiting to run
build / build (--all-features, ubuntu-latest) (push) Waiting to run
build / Build jj-lib without Git support (push) Waiting to run
build / Check protos (push) Waiting to run
build / Check formatting (push) Waiting to run
build / Check that MkDocs can build the docs (push) Waiting to run
build / Check that MkDocs can build the docs with latest Python and uv (push) Waiting to run
build / cargo-deny (advisories) (push) Waiting to run
build / cargo-deny (bans licenses sources) (push) Waiting to run
build / Clippy check (push) Waiting to run
Codespell / Codespell (push) Waiting to run
website / prerelease-docs-build-deploy (ubuntu-latest) (push) Waiting to run
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
Parsed --config-toml args are simply appended because the caller knows there
should be no preloaded CommandArg layers.
2024-11-28 08:45:48 +09:00
Yuya Nishihara
08b1ebe934
config: extract remainder of LayeredConfigs methods to free functions
2024-11-28 08:45:48 +09:00
Yuya Nishihara
a890e1a7f8
config: move read_user/repo_config() methods to ConfigEnv
2024-11-28 08:45:48 +09:00
Yuya Nishihara
1d485b75b6
config: manage repo config path by ConfigEnv
...
This will help migrate LayeredConfigs methods to ConfigEnv.
2024-11-28 08:45:48 +09:00
Yuya Nishihara
6ec3fcc359
cli: fix typo in config path not found error
2024-11-28 08:45:48 +09:00
Austin Seipp
d6c651f13c
nix: fix usage of new parallel linker in Darwin devShell
...
As reported by @lilyball on Discord, the recent nixpkgs update this week brought
with it an entirely new Darwin stdenv, which had a behavioral change versus
the prior one, causing builds inside the developer shell to fail, as the new
super-duper parallel linker could not be used.
However, rather than giving up and throwing away *billions* of precious CPU
cycles, @emilazy and @lilyball instead doubled down and diagnosed the issue. The
result is a new impenetrable line of Nix code, which is fully explained by the
comments within.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2024-11-27 13:58:01 -06:00
Remo Senekowitsch
92adf896b9
completion: include bookmarks and tags in revisions
2024-11-27 18:46:04 +01:00
Remo Senekowitsch
faa4fff621
completion: allow calling jj multiple times
2024-11-27 18:46:04 +01:00
dependabot[bot]
f84893bd48
cargo: bump libc from 0.2.165 to 0.2.166 in the cargo-dependencies group
...
binaries / Build binary artifacts (push) Waiting to run
nix / flake check (push) Waiting to run
build / build (, macos-13) (push) Waiting to run
build / build (, macos-14) (push) Waiting to run
build / build (, ubuntu-latest) (push) Waiting to run
build / build (, windows-latest) (push) Waiting to run
build / build (--all-features, ubuntu-latest) (push) Waiting to run
build / Build jj-lib without Git support (push) Waiting to run
build / Check protos (push) Waiting to run
build / Check formatting (push) Waiting to run
build / Check that MkDocs can build the docs (push) Waiting to run
build / Check that MkDocs can build the docs with latest Python and uv (push) Waiting to run
build / cargo-deny (advisories) (push) Waiting to run
build / cargo-deny (bans licenses sources) (push) Waiting to run
build / Clippy check (push) Waiting to run
Codespell / Codespell (push) Waiting to run
website / prerelease-docs-build-deploy (ubuntu-latest) (push) Waiting to run
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
Bumps the cargo-dependencies group with 1 update: [libc](https://github.com/rust-lang/libc ).
Updates `libc` from 0.2.165 to 0.2.166
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.166/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.165...0.2.166 )
---
updated-dependencies:
- dependency-name: libc
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-11-27 15:56:31 +00:00
Yuya Nishihara
8e54e3e70e
local_working_copy: move comment about conflict file to the right place
...
I also removed "now" from "is now a normal file" because conflicts should be
materialized as a normal file. "is a normal file" is tested by caller.
2024-11-27 23:06:47 +09:00
dependabot[bot]
e41ffa7ada
cargo: bump libc from 0.2.164 to 0.2.165 in the cargo-dependencies group
...
binaries / Build binary artifacts (push) Waiting to run
nix / flake check (push) Waiting to run
build / build (, macos-13) (push) Waiting to run
build / build (, macos-14) (push) Waiting to run
build / build (, ubuntu-latest) (push) Waiting to run
build / build (, windows-latest) (push) Waiting to run
build / build (--all-features, ubuntu-latest) (push) Waiting to run
build / Build jj-lib without Git support (push) Waiting to run
build / Check protos (push) Waiting to run
build / Check formatting (push) Waiting to run
build / Check that MkDocs can build the docs (push) Waiting to run
build / Check that MkDocs can build the docs with latest Python and uv (push) Waiting to run
build / cargo-deny (advisories) (push) Waiting to run
build / cargo-deny (bans licenses sources) (push) Waiting to run
build / Clippy check (push) Waiting to run
Codespell / Codespell (push) Waiting to run
website / prerelease-docs-build-deploy (ubuntu-latest) (push) Waiting to run
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
Bumps the cargo-dependencies group with 1 update: [libc](https://github.com/rust-lang/libc ).
Updates `libc` from 0.2.164 to 0.2.165
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.165/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.164...0.2.165 )
---
updated-dependencies:
- dependency-name: libc
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-11-26 17:03:17 -06:00
Yuya Nishihara
3186d91a65
config: rename ConfigEnv methods to clarify the intent
...
We'll add existing/new_repo_config_path() methods.
2024-11-27 07:49:22 +09:00
Yuya Nishihara
39063f18ff
config: make ConfigEnv public, replace global functions
2024-11-27 07:49:22 +09:00
Yuya Nishihara
724928028b
config: make ConfigEnv methods not consume self
...
ConfigEnv will be owned by CommandHelper, and some of the LayeredConfigs
methods will be moved there.
2024-11-27 07:49:22 +09:00
Yuya Nishihara
99c790f55c
config: extract user path resolution from ConfigEnv
...
The idea is that ConfigEnv will be a public interface that helps load/create
config file. The path doesn't have to be resolved multiple times.
2024-11-27 07:49:22 +09:00
Yuya Nishihara
34ef4d8587
config: inline check() function in test cases
...
It becomes hard to maintain because the next patch will change the function
signature.
2024-11-27 07:49:22 +09:00
Scott Taylor
7f57866332
merge_tools: allow setting conflict marker style per-tool
...
binaries / Build binary artifacts (push) Waiting to run
nix / flake check (push) Waiting to run
build / build (, macos-13) (push) Waiting to run
build / build (, macos-14) (push) Waiting to run
build / build (, ubuntu-latest) (push) Waiting to run
build / build (, windows-latest) (push) Waiting to run
build / build (--all-features, ubuntu-latest) (push) Waiting to run
build / Build jj-lib without Git support (push) Waiting to run
build / Check protos (push) Waiting to run
build / Check formatting (push) Waiting to run
build / Check that MkDocs can build the docs (push) Waiting to run
build / Check that MkDocs can build the docs with latest Python and uv (push) Waiting to run
build / cargo-deny (advisories) (push) Waiting to run
build / cargo-deny (bans licenses sources) (push) Waiting to run
build / Clippy check (push) Waiting to run
Codespell / Codespell (push) Waiting to run
website / prerelease-docs-build-deploy (ubuntu-latest) (push) Waiting to run
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
I left the "merge-tool-edits-conflict-markers" option unchanged,
since removing it would likely break some existing configurations. It
also seems like it could be useful to have a merge tool use the default
conflict markers instead of requiring the conflict marker style to
always be set for the merge tool (e.g. if a merge tool allows the user
to manually edit the conflicts).
2024-11-26 09:05:17 -06:00
Yuya Nishihara
e029e8d5db
config: rename AnnotatedValue::path to ::name
...
The field name "path" was confusing because we'll probably add a source file
path to AnnotatedValue.
2024-11-26 18:17:52 +09:00
Yuya Nishihara
14798d3f50
config: add doc comment to AnnotatedValue
2024-11-26 18:17:52 +09:00
Yuya Nishihara
0b23bbb3bb
config: move resolved_config_values() to free function
...
This will help replace cli LayeredConfigs with new StackedConfig. I originally
considered moving this function to jj-lib, but the current API is very specific
to the CLI use case, and wouldn't be reused for building a merged sub table. We
might instead want to extract some bits as a library function.
2024-11-26 18:17:52 +09:00
Yuya Nishihara
0df1ac65b5
cli: call resolved_config_values() directly from cmd_config_list()
...
There's only one caller, and it will become accessible through
command.settings().
2024-11-26 18:17:52 +09:00
Benjamin Tan
ee37409c5e
cli: simplify-parents: add default revsets.simplify-parents
config
...
binaries / Build binary artifacts (push) Waiting to run
nix / flake check (push) Waiting to run
build / build (, macos-13) (push) Waiting to run
build / build (, macos-14) (push) Waiting to run
build / build (, ubuntu-latest) (push) Waiting to run
build / build (, windows-latest) (push) Waiting to run
build / build (--all-features, ubuntu-latest) (push) Waiting to run
build / Build jj-lib without Git support (push) Waiting to run
build / Check protos (push) Waiting to run
build / Check formatting (push) Waiting to run
build / Check that MkDocs can build the docs (push) Waiting to run
build / Check that MkDocs can build the docs with latest Python and uv (push) Waiting to run
build / cargo-deny (advisories) (push) Waiting to run
build / cargo-deny (bans licenses sources) (push) Waiting to run
build / Clippy check (push) Waiting to run
Codespell / Codespell (push) Waiting to run
website / prerelease-docs-build-deploy (ubuntu-latest) (push) Waiting to run
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
This adds a new `revsets.simplify-parents` configuration option (similar
to `revsets.fix`) which serves as the default revset for `jj
simplify-parents` if no `--source` or `--revisions` arguments are
provided.
2024-11-26 13:19:25 +08:00
Nathanael Huffman
f6210aa99d
cli: Fix error message grammar and associated tests
2024-11-25 18:22:33 -06:00
Scott Taylor
ea72a4af28
tutorial: fix conflict formatting issue
2024-11-25 16:47:59 -06:00
dependabot[bot]
61f0000626
github: bump astral-sh/setup-uv in the github-dependencies group
...
Bumps the github-dependencies group with 1 update: [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv ).
Updates `astral-sh/setup-uv` from 3.2.3 to 4.0.0
- [Release notes](https://github.com/astral-sh/setup-uv/releases )
- [Commits](e779db7426...d8db0a86d3
)
---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: github-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-11-25 15:13:12 -06:00
dependabot[bot]
73e456ab69
cargo: bump hashbrown in the cargo-dependencies group
...
Bumps the cargo-dependencies group with 1 update: [hashbrown](https://github.com/rust-lang/hashbrown ).
Updates `hashbrown` from 0.15.1 to 0.15.2
- [Changelog](https://github.com/rust-lang/hashbrown/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/hashbrown/commits )
---
updated-dependencies:
- dependency-name: hashbrown
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-11-25 15:12:50 -06:00
Martin von Zweigbergk
5aee10aa6d
faq: add an entry about why merge commits are often empty
2024-11-25 10:46:52 -08:00
Yuya Nishihara
f819dc9345
config: extract layer management from cli LayeredConfigs to jj-lib
...
binaries / Build binary artifacts (push) Waiting to run
nix / flake check (push) Waiting to run
build / build (, macos-13) (push) Waiting to run
build / build (, macos-14) (push) Waiting to run
build / build (, ubuntu-latest) (push) Waiting to run
build / build (, windows-latest) (push) Waiting to run
build / build (--all-features, ubuntu-latest) (push) Waiting to run
build / Build jj-lib without Git support (push) Waiting to run
build / Check protos (push) Waiting to run
build / Check formatting (push) Waiting to run
build / Check that MkDocs can build the docs (push) Waiting to run
build / Check that MkDocs can build the docs with latest Python and uv (push) Waiting to run
build / cargo-deny (advisories) (push) Waiting to run
build / cargo-deny (bans licenses sources) (push) Waiting to run
build / Clippy check (push) Waiting to run
Codespell / Codespell (push) Waiting to run
website / prerelease-docs-build-deploy (ubuntu-latest) (push) Waiting to run
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
Layers are now constructed per file, not per source type. This will allow us
to report precise position where bad configuration variable is set. Because
layers are now created per file, it makes sense to require existence of the
file, instead of ignoring missing files which would leave an empty layer in the
stack. The path existence is tested by ConfigEnv::existing_config_path(), so I
simply made the new load_file/dir() methods stricter. However, we still need
config::File::required(false) flag in order to accept /dev/null as an empty
TOML file.
The lib type is renamed to StackedConfig to avoid name conflicts. The cli
LayeredConfigs will probably be reorganized as an environment object that
builds a StackedConfig.
2024-11-25 12:09:21 +09:00
Yuya Nishihara
d75aaf3f8d
config: move ConfigSource to jj-lib, make it Copy + Ord
...
I decided to add `path: Option<PathBuf>` as a separate field, not a parameter
of ConfigSource::Repo|User variants.
2024-11-25 12:09:21 +09:00
Yuya Nishihara
75b8e9b857
config: split ConfigSource::Env reflecting layer precedence
...
I'll make LayeredConfigs store a list of layers sorted by source (or
precedence), where multiple layers can exist for the same source.
2024-11-25 12:09:21 +09:00
Ilya Grigoriev
8c5b39e286
cli util gc
: document the fact that it does not abandon operations
...
binaries / Build binary artifacts (push) Waiting to run
nix / flake check (push) Waiting to run
build / build (, macos-13) (push) Waiting to run
build / build (, macos-14) (push) Waiting to run
build / build (, ubuntu-latest) (push) Waiting to run
build / build (, windows-latest) (push) Waiting to run
build / build (--all-features, ubuntu-latest) (push) Waiting to run
build / Build jj-lib without Git support (push) Waiting to run
build / Check protos (push) Waiting to run
build / Check formatting (push) Waiting to run
build / Check that MkDocs can build the docs (push) Waiting to run
build / Check that MkDocs can build the docs with latest Python and uv (push) Waiting to run
build / cargo-deny (advisories) (push) Waiting to run
build / cargo-deny (bans licenses sources) (push) Waiting to run
build / Clippy check (push) Waiting to run
Codespell / Codespell (push) Waiting to run
website / prerelease-docs-build-deploy (ubuntu-latest) (push) Waiting to run
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
This UI will probably change eventually, but let's document it for now.
2024-11-24 15:48:12 -08:00
Martin von Zweigbergk
10c90a5099
merged_tree: propagate errors from conflict iterator
binaries / Build binary artifacts (push) Has been cancelled
nix / flake check (push) Has been cancelled
build / build (, macos-13) (push) Has been cancelled
build / build (, macos-14) (push) Has been cancelled
build / build (, ubuntu-latest) (push) Has been cancelled
build / build (, windows-latest) (push) Has been cancelled
build / build (--all-features, ubuntu-latest) (push) Has been cancelled
build / Build jj-lib without Git support (push) Has been cancelled
build / Check protos (push) Has been cancelled
build / Check formatting (push) Has been cancelled
build / Check that MkDocs can build the docs (push) Has been cancelled
build / Check that MkDocs can build the docs with latest Python and uv (push) Has been cancelled
build / cargo-deny (advisories) (push) Has been cancelled
build / cargo-deny (bans licenses sources) (push) Has been cancelled
build / Clippy check (push) Has been cancelled
Codespell / Codespell (push) Has been cancelled
website / prerelease-docs-build-deploy (ubuntu-latest) (push) Has been cancelled
Scorecards supply-chain security / Scorecards analysis (push) Has been cancelled
2024-11-23 13:53:04 -08:00
Martin von Zweigbergk
9ec216a2bb
cli_util: take conflicts by value to print_conflicted_paths()
...
I'm about to make the vector contain `BackendResult<MergedTreeValue>`,
which is harder to work with behind a mutable reference.
2024-11-23 13:53:04 -08:00
Austin Seipp
81251c9382
nix: flake update
...
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2024-11-23 15:04:57 -06:00
Ilya Grigoriev
118072a9ac
cli git push
: short alias -N for --allow-new
...
I commonly end up typing it. It's long and hard to complete
2024-11-23 11:08:26 -08:00
Scott Taylor
472fd35ff1
docs: rewrite conflict marker docs to include new styles
...
The current docs for conflict markers start out by introducing Git
"diff3" conflict markers, and then discussing how Jujutsu's conflict
markers are different from Git's. I don't think this is the best way to
explain it, because it requires the reader to first understand Git's
conflict markers before they go on to learn Jujutsu's conflict markers.
Instead, I think it's better to explain the conflict markers from
scratch with a more detailed example so that we don't assume any
particular knowledge of Git.
This structure also works better with the new config option, since we
can talk about the default option first, and then go on to explain
alternatives later.
2024-11-23 08:28:47 -06:00
Scott Taylor
26f5d6150c
conflicts: add "git" conflict marker style
...
Adds a new "git" conflict marker style option. This option matches Git's
"diff3" conflict style, allowing these conflicts to be parsed by some
external tools that don't support JJ-style conflicts. If a conflict has
more than 2 sides, then it falls back to the similar "snapshot" conflict
marker style.
The conflict parsing code now supports parsing Git-style conflict
markers in addition to the normal JJ-style conflict markers, regardless
of the conflict marker style setting. This has the benefit of allowing
the user to switch the conflict marker style while they already have
conflicts checked out, and their old conflicts will still be parsed
correctly.
Example of "git" conflict markers:
```
<<<<<<< Side #1 (Conflict 1 of 1)
fn example(word: String) {
println!("word is {word}");
||||||| Base
fn example(w: String) {
println!("word is {w}");
=======
fn example(w: &str) {
println!("word is {w}");
>>>>>>> Side #2 (Conflict 1 of 1 ends)
}
```
2024-11-23 08:28:47 -06:00
Scott Taylor
ec6220d51f
merge: add as_slice()
method
...
This was already possible using `merge.iter().as_slice()`, but I think
this is cleaner.
2024-11-23 08:28:47 -06:00
Scott Taylor
54c453ba8d
conflicts: extract function for materializing hunk
...
This will make it easier to add a second code path for Git-style
conflicts in a later commit.
2024-11-23 08:28:47 -06:00
Scott Taylor
d2b06b9cf9
conflicts: add "snapshot" conflict marker style
...
Adds a new "snapshot" conflict marker style which returns a series of
snapshots, similar to Git's "diff3" conflict style. The "snapshot"
option uses a subset of the conflict hunk headers as the "diff" option
(it just doesn't use "%%%%%%%"), meaning that the two options are
trivially compatible with each other (i.e. a file materialized with
"snapshot" can be parsed with "diff" and vice versa).
Example of "snapshot" conflict markers:
```
<<<<<<< Conflict 1 of 1
+++++++ Contents of side #1
fn example(word: String) {
println!("word is {word}");
------- Contents of base
fn example(w: String) {
println!("word is {w}");
+++++++ Contents of side #2
fn example(w: &str) {
println!("word is {w}");
>>>>>>> Conflict 1 of 1 ends
}
```
2024-11-23 08:28:47 -06:00