Martin von Zweigbergk
6514ab2e3a
cli: when config is invalid, use default config
...
When we fail to read the user's config, it seems obviously better to
use the default config than to not use it. It doesn't matter yet, but
it will matter when I've moved color configs out of `formatter.rs` and
into a `.toml` file. Without this change, we'd lose the default
coloring of the error message for config errors.
2022-12-24 07:07:37 -08:00
Martin von Zweigbergk
462f696e4e
config: add a README to explain that the config files are not installed
2022-12-24 07:07:37 -08:00
Martin von Zweigbergk
b22a6db7e7
config: move default merge-tool config into config/ directory
...
I'm about to add more default configs, so it will be good to collect
them in one directory.
2022-12-24 07:07:37 -08:00
dependabot[bot]
db0a524f7b
cargo: bump clap_complete from 4.0.6 to 4.0.7
...
Bumps [clap_complete](https://github.com/clap-rs/clap ) from 4.0.6 to 4.0.7.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.0.6...clap_complete-v4.0.7 )
---
updated-dependencies:
- dependency-name: clap_complete
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-12-23 23:31:08 +00:00
dependabot[bot]
72ed6676bb
cargo: bump clap from 4.0.30 to 4.0.32
...
Bumps [clap](https://github.com/clap-rs/clap ) from 4.0.30 to 4.0.32.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v4.0.30...v4.0.32 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-12-23 15:18:36 -08:00
dependabot[bot]
77b7884464
cargo: bump clap_mangen from 0.2.5 to 0.2.6
...
Bumps [clap_mangen](https://github.com/clap-rs/clap ) from 0.2.5 to 0.2.6.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_mangen-v0.2.5...clap_mangen-v0.2.6 )
---
updated-dependencies:
- dependency-name: clap_mangen
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-12-23 09:25:15 -08:00
dependabot[bot]
481f87abd3
cargo: bump pest from 2.5.1 to 2.5.2
...
Bumps [pest](https://github.com/pest-parser/pest ) from 2.5.1 to 2.5.2.
- [Release notes](https://github.com/pest-parser/pest/releases )
- [Commits](https://github.com/pest-parser/pest/compare/v2.5.1...v2.5.2 )
---
updated-dependencies:
- dependency-name: pest
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-12-23 09:24:57 -08:00
Tal Pressman
cc40740fa2
Update cargo installation instructions
2022-12-24 02:24:23 +09:00
Yuya Nishihara
587e42d65d
backend: deduplicate id type declarations by using declarative macro
2022-12-23 23:52:03 +09:00
Yuya Nishihara
b07c0db56b
backend: deduplicate id type impls by using declarative macro
...
It's unlikely we'll need to customize these impls per type, so let's ensure
that these newtypes have identical implementations. This commit also adds
from_hex() to FileId, SymlinkId, and ConflictId.
2022-12-23 23:52:03 +09:00
Ilya Grigoriev
5a681d31d0
cmd jj log
: Move divergent
label next to the change id
...
The divergent label is most relevant when the user is about to
refer to a commit by its change id.
It's also good to put it far from the `conflicts` label, to
reduce confusion between very different concepts that have
similar names.
Finally, I think it is a feature rather than a bug that the
`divergent` label now upsets the alignment of different lines
of `jj log`.
2022-12-22 17:25:16 -08:00
Benjamin Saunders
d99e85269f
cli: fix core.excludesFile default when XDG_CONFIG_HOME is set
2022-12-22 10:03:20 -08:00
Yuya Nishihara
48cf32f559
cli: simply assign result of if expression in cmd_describe()
2022-12-23 00:47:22 +09:00
Yuya Nishihara
2550dcae4c
cli: include diff summary in commit/describe editor content
2022-12-23 00:47:22 +09:00
Yuya Nishihara
d438f43224
cli: rephrase diff summary header so it can be reused for commit/describe
2022-12-23 00:47:22 +09:00
Yuya Nishihara
e7d9e1ff9c
cli: inline diff_util::diff_as_bytes()
...
I'll add a similar function that uses show_patch() instead of show_diff(),
and I don't think it's worth duplicating _as_bytes() part for that.
2022-12-23 00:47:22 +09:00
Yuya Nishihara
5076622598
tests: use insta to test editor contents
...
It's tedious to update editor expectation manually. Let's dump the actual
content and test it after each command invocation.
2022-12-23 00:47:22 +09:00
Yuya Nishihara
1cb1a1f1dc
fake-editor: add dump command to be used with insta::assert_snapshot!()
...
This allows us to use insta against dumped content.
2022-12-23 00:47:22 +09:00
Yuya Nishihara
8613ec985c
fake-editor: trivial code cleanup
2022-12-23 00:47:22 +09:00
Yuya Nishihara
36020a2bbf
revset: parse hg/git-like '^' postfix operator and show hint
2022-12-23 00:38:29 +09:00
Yuya Nishihara
7cd01b27a7
revset: parse hg-like '-'/'+' infix operators and show hint
...
Suggested by @arxanas.
Actually, it's easier to support these infix ops than erroring out, but I
don't want to make revset syntax more cryptic. "x- y" can't be handled by
this rule because "x-" is parsed as a parents expression.
2022-12-23 00:38:29 +09:00
dependabot[bot]
7b09124bcb
cargo: bump libc from 0.2.138 to 0.2.139
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.138 to 0.2.139.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.138...0.2.139 )
---
updated-dependencies:
- dependency-name: libc
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-12-22 15:20:28 +00:00
dependabot[bot]
bb0cb7f8d1
github: bump ossf/scorecard-action from 2.1.1 to 2.1.2
...
Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action ) from 2.1.1 to 2.1.2.
- [Release notes](https://github.com/ossf/scorecard-action/releases )
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md )
- [Commits](15c10fcf1c...e38b1902ae
)
---
updated-dependencies:
- dependency-name: ossf/scorecard-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-12-22 15:15:44 +00:00
Benjamin Saunders
aaa175eca7
lib: replace protobuf crate with prost
2022-12-22 07:04:35 -08:00
Yuya Nishihara
300f744e41
cli: normalize line ending of edited commit description, ensure last newline
...
Since CR+LF vs LF things shouldn't matter in commit description, it's probably
better to normalize newline characters.
In Mercurial, ui.edit() and changelog.stripdesc() handle line normalization,
and trailing newlines are stripped. In Git, cleanup_message() handles that,
and the last newline is added after stripping trailing newlines.
2022-12-22 14:59:03 +09:00
Yuya Nishihara
6f8fb09609
cli: append "\n" to commit description specified by -m/--message
...
Otherwise the description set by -m would differ from the one set by editor.
This fixes test_describe() which says "make no changes", but previously "\n"
would be added by the second "jj describe".
As you can see, almost all hashes change in CLI tests. This means in-flight
PRs will need to be rebased to update insta snapshots.
Description text could be normalized by CommitBuilder, but the caller would
have to normalize it beforehand to compare with the current description, so
we would need an explicit function anyway. Another idea is to add a newtype
that represents a normalized description, and make CommitBuilder require it.
Commit::description() will return &Description in place of &str to ensure
that commit.description() == raw_str wouldn't compile.
Git CLI provides --cleanup=<mode> option to switch normalization rules, but
I don't think we'll need such feature.
2022-12-22 14:59:03 +09:00
Yuya Nishihara
986649623d
commit_builder: relax type of description parameter
...
The next commit will introduce a newtype for -m/--message argument which
can be converted Into<String>.
Since CommitBuilder is a thin wrapper, code bloat caused by generic parameters
wouldn't matter. I have another set of commits that makes all builder methods
accept Into/IntoIterator, which will remove some of .clone() calls from tests.
2022-12-22 14:59:03 +09:00
Benjamin Saunders
6063fe8f06
cargo: add testutils to workspace
2022-12-21 16:02:48 -08:00
dependabot[bot]
722f8ff3e5
cargo: bump clap from 4.0.29 to 4.0.30
...
Bumps [clap](https://github.com/clap-rs/clap ) from 4.0.29 to 4.0.30.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v4.0.29...v4.0.30 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-12-21 09:06:45 -08:00
dependabot[bot]
80ab49e2f6
cargo: bump num_cpus from 1.14.0 to 1.15.0
...
Bumps [num_cpus](https://github.com/seanmonstar/num_cpus ) from 1.14.0 to 1.15.0.
- [Release notes](https://github.com/seanmonstar/num_cpus/releases )
- [Changelog](https://github.com/seanmonstar/num_cpus/blob/master/CHANGELOG.md )
- [Commits](https://github.com/seanmonstar/num_cpus/compare/v1.14.0...v1.15.0 )
---
updated-dependencies:
- dependency-name: num_cpus
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-12-21 09:06:25 -08:00
Ilya Grigoriev
386fdce631
Rename test_touchup_command.rs
to test_diffedit_command.rs
2022-12-21 08:15:06 -08:00
Ilya Grigoriev
18722bbf36
cmd: Remove the -i
option to jj restore
.
...
It is superceded by the new options to the `jj diffedit` command.
2022-12-21 08:15:06 -08:00
Ilya Grigoriev
c9706fc0d4
Rename jj touchup
to jj diffedit
2022-12-21 08:15:06 -08:00
Ilya Grigoriev
f71ca25ebe
cmd: Add --to
and --from
arguments to jj touchup
...
This allows touching up a commit while seeing the differences between it and
another arbitrary commit.
2022-12-21 08:15:06 -08:00
Yuya Nishihara
b474fc6ab5
cli: fix move/squash/unsquash tests to run without source commit description
...
And ensure that editor isn't invoked in those cases.
2022-12-22 00:29:03 +09:00
Yuya Nishihara
c9ff99d166
cargo: drop or move "rand" to dev-dependencies
2022-12-21 23:48:51 +09:00
Yuya Nishihara
a850c488f9
cli: use fs::read_to_string() to read edited description file
...
Also removes panic on io::Error. It's unlikely, but could occur if the
edited description contained non-UTF-8 character.
2022-12-21 23:48:51 +09:00
Yuya Nishihara
cc2091aad6
cli: leverage tempfile to create commit description file with random suffix
...
This should be more reliable as there might be a stale description file
having the exact same random suffix.
Also removes panic on io::Error.
2022-12-21 23:48:51 +09:00
Ilya Grigoriev
0285a203a2
Rearrange branches of if
statement in jj git push
2022-12-21 00:52:17 -08:00
Ilya Grigoriev
2f00fcb6b4
jj git push: Make sure each branch is processed at most once
2022-12-21 00:52:17 -08:00
Ilya Grigoriev
fad686f48c
Allow jj git push
to push multiple branches/changes at once
...
Also creates short arg `-b` for `--branch`.
2022-12-21 00:52:17 -08:00
Ilya Grigoriev
63854e7b6c
Add a test for git push --change
2022-12-21 00:52:17 -08:00
Benjamin Saunders
b222bbd10a
cli: respect default value of git core.excludesFile
2022-12-21 00:18:55 -08:00
dependabot[bot]
1a11679539
github: bump ossf/scorecard-action from 2.1.0 to 2.1.1
...
Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action ) from 2.1.0 to 2.1.1.
- [Release notes](https://github.com/ossf/scorecard-action/releases )
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md )
- [Commits](937ffa90d7...15c10fcf1c
)
---
updated-dependencies:
- dependency-name: ossf/scorecard-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-12-20 08:43:48 -08:00
dependabot[bot]
e1bf2ea7f4
cargo: bump thiserror from 1.0.37 to 1.0.38
...
Bumps [thiserror](https://github.com/dtolnay/thiserror ) from 1.0.37 to 1.0.38.
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.37...1.0.38 )
---
updated-dependencies:
- dependency-name: thiserror
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-12-19 09:57:39 -08:00
dependabot[bot]
cee85364eb
cargo: bump serde from 1.0.150 to 1.0.151
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.150 to 1.0.151.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.150...v1.0.151 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-12-19 09:57:28 -08:00
dependabot[bot]
548595ec52
cargo: bump blake2 from 0.10.5 to 0.10.6
...
Bumps [blake2](https://github.com/RustCrypto/hashes ) from 0.10.5 to 0.10.6.
- [Release notes](https://github.com/RustCrypto/hashes/releases )
- [Commits](https://github.com/RustCrypto/hashes/compare/blake2-v0.10.5...blake2-v0.10.6 )
---
updated-dependencies:
- dependency-name: blake2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-12-19 09:57:18 -08:00
dependabot[bot]
cb59948b3c
cargo: bump serde_json from 1.0.89 to 1.0.91
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.89 to 1.0.91.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.89...v1.0.91 )
---
updated-dependencies:
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-12-19 09:57:06 -08:00
Martin von Zweigbergk
a2d2da4d48
cli: remove unnecessary (?) ArgAction::Append
in $[clap]
...
I think "append" is the default for `Vec`-type fields.
2022-12-18 17:51:58 -08:00
Ilya Grigoriev
dac80ef88c
Rename diff_edit.rs
to merge_tools.rs
...
This is important especially since we're about to rename the `touchup` command into `diffedit`.
2022-12-17 22:26:59 -08:00