Yuya Nishihara
4931b2ba04
merged_tree: remove redundant .clone() from TreeDiffStreamImpl::new()
2024-11-30 10:20:43 +09:00
Yuya Nishihara
c741e3db39
merged_tree: use Merge<Tree> to represent pending trees in TreeDiffStreamImpl
...
This seems a slightly better in that MergedTree no longer represent a subtree.
2024-11-30 10:20:43 +09:00
Yuya Nishihara
991b0e8b68
merged_tree: keep Arc<Store> globally in TreeDiffStreamImpl
...
I'll replace treeN: MergedTree with Merge<Tree>, and it's simpler to just
keep the store by TreeDiffStreamImpl.
2024-11-30 10:20:43 +09:00
Yuya Nishihara
a3ca6c6f46
tests: do not pass in commit objects loaded from different store
...
For the same reason as 37c41d0eaf
.
2024-11-30 10:20:43 +09:00
dependabot[bot]
aef61a6045
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 4.0.0 to 4.1.0
- [Release notes](https://github.com/astral-sh/setup-uv/releases )
- [Commits](d8db0a86d3...5f42d5af6c
)
---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: github-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-11-30 10:12:06 +09:00
Yuya Nishihara
36e83ed260
cli: move get_new_config_file_path() to commands::config
...
There aren't any other callers internally, and it is a thin wrapper around
ConfigEnv functions which can be easily implemented.
2024-11-30 10:01:35 +09:00
Yuya Nishihara
e1cd1a00e6
config: update comment about new config file creation
...
Spotted while updating get_new_config_file_path() callers. "jj config path"
isn't a command to create new config file.
2024-11-30 10:01:35 +09:00
Yuya Nishihara
ecf25a1d9b
tests: extract helper that instantiates StackedConfig with commit timestamp
2024-11-30 10:01:05 +09:00
Yuya Nishihara
da01734639
settings: own StackedConfig by UserSettings, migrate tests to use config layer
...
UserSettings::get_*() will be changed to look up a merged value from
StackedConfig, not from a merged config::Value. This will help migrate away
from the config crate.
Not all tests are ported to ConfigLayer::parse() because it seemed a bit odd
to format!() a TOML document and parse it to build a table of configuration
variables.
2024-11-30 10:01:05 +09:00
Yuya Nishihara
512d85bfad
config: add convenient function that constructs ConfigLayer from TOML string
...
This will be used mainly in tests. The default layers might also be migrated to
per-file layers constructed by ConfigLayer::parse().
2024-11-30 10:01:05 +09:00
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