Yuya Nishihara
7404338362
git: replace remaining caller of old parse_git_ref()
2025-03-23 11:02:49 +00:00
Yuya Nishihara
f6800787ed
git: inline parsing of remote default branch
...
This should be simpler than using parse_git_ref_inner(), and we'll drop git2
support anyway.
2025-03-23 11:02:49 +00:00
Yuya Nishihara
8ed9c36377
git: in import_refs(), use sorted vec as map of bookmarks/tags
...
For consistency with export_refs().
changed_git_refs doesn't have to be sorted, but the sorting cost wouldn't matter
in practice.
2025-03-23 01:32:29 +00:00
Yuya Nishihara
b6419ca790
git: in import_refs(), split known remote bookmarks/tags maps
...
It's simpler, and more consistent with export_refs().
2025-03-23 01:32:29 +00:00
Yuya Nishihara
ddaa909977
git: extract inner loop that compares known refs and actual refs to import
...
I'll split known_remote_refs to bookmarks and tags, and the input Git refs
iterators are also filtered by ref types.
2025-03-23 01:32:29 +00:00
Yuya Nishihara
7d59d0564e
git: use translated remote symbols in export_refs()
...
I also made to_git_ref_name() stricter as it seemed odd that empty tag name and
remote name were allowed.
2025-03-23 01:32:29 +00:00
Yuya Nishihara
c3a32c4265
git: in export_refs(), use sorted Vec as map of bookmarks
...
I'm going to change the key type from RefName to RemoteSymbolBuf, but the std
BTreeMap/HashMap doesn't support lookup by un-Borrow-able ref types. We can use
hashbrown::HashMap, but there aren't popular alternative for ordered maps.
Since we don't need random insertion and lookup, we can simply use Vec.
2025-03-23 01:32:29 +00:00
Yuya Nishihara
5ae63a2355
tests: port test_gitignores.rs to TestWorkDir API
2025-03-23 01:31:28 +00:00
Yuya Nishihara
0d8aeee3e5
tests: port test_git_remotes.rs to TestWorkDir API
2025-03-23 01:31:28 +00:00
Yuya Nishihara
d5226aad0a
tests: port test_git_push.rs to TestWorkDir API
2025-03-23 01:31:28 +00:00
Yuya Nishihara
b80e5e07b8
tests: port test_git_private_commits.rs to TestWorkDir API
2025-03-23 01:31:28 +00:00
Yuya Nishihara
1466bce13c
tests: move instantiation out of set_up() in test_git_{private_commits,push}.rs
...
set_up() doesn't have to create TestEnvironment by itself, and the local
TestWorkDir will borrow &test_env.
2025-03-23 01:31:28 +00:00
Yuya Nishihara
7583b9108e
tests: port test_git_init.rs to TestWorkDir API
2025-03-23 01:31:28 +00:00
Yuya Nishihara
c2f2461b5f
cli: truncate list of newly conflicted commits
...
If there are hundreds of new conflict commits, the user wouldn't want to see all
of them.
2025-03-23 01:31:22 +00:00
Yuya Nishihara
00c2d15f29
cli: do not print commit summary for previously-conflicted commits
...
I usually don't read these messages carefully, and the red "(conflict)" label
looked scary. Suppose we don't have to take further action on resolved commits,
I don't think we need to print commit summary for each resolved commit.
2025-03-23 01:31:22 +00:00
Yuya Nishihara
e52ddda98f
conflicts: pack MaterializedTreeValue::File fields, use read_all() helper
...
This pattern is common.
2025-03-23 01:31:15 +00:00
Yuya Nishihara
a1eff5057a
conflicts: extract MaterializedFileValue type from absorb
...
The interface is slightly adjusted because it wouldn't make much sense that
generic read_all() method returned BString.
2025-03-23 01:31:15 +00:00
Yuya Nishihara
9a615b5b62
config: relax bare string rule to accept middle apostrophes, etc.
...
Closes #5748
2025-03-22 09:00:44 +00:00
dependabot[bot]
78239ee133
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 5.3.1 to 5.4.0
- [Release notes](https://github.com/astral-sh/setup-uv/releases )
- [Commits](f94ec6bedd...22695119d7
)
---
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>
2025-03-22 06:27:03 +00:00
Caleb White
caf172f651
templates: create builtin_draft_commit_description
template
...
This moves the default template to `builtin_draft_commit_description` and
points `draft_commit_description` to it. This makes it easier to override
the template while still being able to refer to the default.
2025-03-22 02:06:10 +00:00
Martin von Zweigbergk
1a98a73ae4
fix: avoid an unnecessary clone
2025-03-21 19:56:26 +00:00
Martin von Zweigbergk
be0ad55309
doc: update some references to "the native backend"
2025-03-21 16:27:51 +00:00
Yuya Nishihara
ca616fade2
tests: port test_git_import_export.rs to TestWorkDir API
2025-03-21 01:19:20 +00:00
Yuya Nishihara
569a405cea
tests: port test_git_fetch.rs to TestWorkDir API
2025-03-21 01:19:20 +00:00
Yuya Nishihara
64f8661f0f
tests: port test_git_colocated.rs to TestWorkDir API
2025-03-21 01:19:20 +00:00
Yuya Nishihara
a36bf18a57
tests: port test_git_clone.rs to TestWorkDir API
...
In test_git_clone.rs, it's common to execute "jj git clone" or do file operation
at the root directory. This patch adds root_dir: &TestWorkDir references for
that reason. We might want to somehow merge root_dir and test_env later.
2025-03-21 01:19:20 +00:00
Austin Seipp
2c074702e9
github: bump binaries timeout limit
...
Like the CI runners, I've occasionally seen spikes where binary builds
on 'main' were failing. Bump a little bit to avoid that.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2025-03-20 23:04:20 +00:00
Austin Seipp
fc8de6006b
github: bump timeout to 20 minutes
...
We're well under the 15 minute limit at this point at the p90 case, but it
seems like the p99 build tends to run into ~10minute spikes due to underlying
runner anomalies (oversaturation?)
Let's go ahead and use a timeout of 20 minutes to give it a little more slack.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2025-03-20 23:04:20 +00:00
Austin Seipp
4b28aaa8c6
Back out "github: only run dependabot
workflow on dependabot/**
branches"
...
This might be the cause of dependabot PRs not having automerge. Let's
just revert it and see what happens when the next PRs roll in.
This backs out commit 47cd10669de28ecc36f0d7dbbb9964945124b730.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2025-03-20 19:10:45 +00:00
dependabot[bot]
d83cc1d97e
cargo: bump the cargo-dependencies group with 2 updates
...
Bumps the cargo-dependencies group with 2 updates: [clap_complete](https://github.com/clap-rs/clap ) and [tempfile](https://github.com/Stebalien/tempfile ).
Updates `clap_complete` from 4.5.46 to 4.5.47
- [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.5.46...clap_complete-v4.5.47 )
Updates `tempfile` from 3.19.0 to 3.19.1
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.19.0...v3.19.1 )
---
updated-dependencies:
- dependency-name: clap_complete
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-dependencies
- dependency-name: tempfile
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-03-20 17:48:20 +00:00
dependabot[bot]
71e225ad0c
github: bump the github-dependencies group with 2 updates
...
Bumps the github-dependencies group with 2 updates: [actions/upload-artifact](https://github.com/actions/upload-artifact ) and [taiki-e/install-action](https://github.com/taiki-e/install-action ).
Updates `actions/upload-artifact` from 4.6.1 to 4.6.2
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](4cec3d8aa0...ea165f8d65
)
Updates `taiki-e/install-action` from 2.49.30 to 2.49.32
- [Release notes](https://github.com/taiki-e/install-action/releases )
- [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md )
- [Commits](37bdc826ea...351cce3d3a
)
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github-dependencies
- dependency-name: taiki-e/install-action
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-03-20 17:20:15 +00:00
Caleb White
680c41c30f
signing: add gpgsm backend
...
The adds support for PKCS#12 certificates through the `gpgsm` backend.
Closes #5856
2025-03-20 17:01:39 +00:00
Raphael Borun Das Gupta
d1242635c6
docs: fix spelling of «NixOS»
...
The name «NixOS» doesn't have a space in it.
2025-03-19 22:46:34 +00:00
Fedor Sheremetyev
364ece09e0
signing: Don't show console on Windows
...
When used inside GUI application, enabling GPG or SSH signing causes console window to appear temporarily.
std::process::Command needs special flags to prevent that. More details: https://stackoverflow.com/a/60958956
2025-03-19 18:40:16 +00:00
Fedor Sheremetyev
a028e4a03a
git: Don't show console on Windows
...
When used inside GUI application, git.subprocess=true option causes console window to appear temporarily.
std::process::Command needs special flags to prevent that. More details: https://stackoverflow.com/a/60958956
2025-03-19 18:40:16 +00:00
Martin von Zweigbergk
bdbb7afbbb
protos: finish local_store->simple_store migration from f8ab8a0e
2025-03-19 17:32:02 +00:00
dependabot[bot]
abd6b22e92
github: bump github/codeql-action in the github-dependencies group
...
Bumps the github-dependencies group with 1 update: [github/codeql-action](https://github.com/github/codeql-action ).
Updates `github/codeql-action` from 3.28.11 to 3.28.12
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](6bb031afdd...5f8171a638
)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-03-19 16:26:37 +00:00
Yuya Nishihara
9f867b6fac
tests: port test_fix_command.rs to TestWorkDir API
2025-03-19 14:52:52 +00:00
Yuya Nishihara
602799afae
tests: inline init_with_fake_formatter() to callers
2025-03-19 14:52:52 +00:00
Yuya Nishihara
5647113cbd
tests: extract helper that configures fake "fix" formatter
2025-03-19 14:52:52 +00:00
Yuya Nishihara
1769b14995
tests: port test_file_track_untrack_commands.rs to TestWorkDir API
2025-03-19 14:52:52 +00:00
Yuya Nishihara
6f31ba9042
cli: git-push: use RemoteRefSymbol to format and pass name@remote around
...
This ensures that remote symbols are printed with quoting as needed. Local
bookmark names aren't quoted, which will be fixed separately by introducing
RefName(str) newtype.
2025-03-19 14:28:56 +00:00
Yuya Nishihara
8ae605703e
cli: git-push: rename bookmark name/remote variables, bind reference
...
I'm going to replace (name, remote) pair with RemoteRefSymbol. The underlying
name types will also be changed to RefName/RemoteName newtypes.
2025-03-19 14:28:56 +00:00
Emily
8052b62f2e
github: use native builder for x86 macOS
...
This shaves over 3½ minutes off the tests, taking this from the
slowest job to faster than Windows again. The macOS 13 builders
presumably won’t be around forever, and the newer free builders are
all Apple Silicon, but this is an easy substantial improvement for now.
2025-03-19 14:07:02 +00:00
Yuya Nishihara
f37f927bc2
cli: abandon: remove --summary flag, just print elided list
...
AFAICT, this option was needed when we're going to abandon hundreds of commits.
However, I typically notice that I had to use --summary to suppress the output
after the fact. Since the list is now truncated up to 10 commits, I don't think
the --summary flag is useful anymore. This patch also removes the special case
for 1 item, which existed primarily for overriding --summary.
2025-03-19 05:32:26 +00:00
Yuya Nishihara
976f3585e1
cli: truncate list of abandoned/created/updated commits
...
The choice of the upper limit is arbitrary. We use 5 in "multiple revisions"
error, but I feel 5 would be too small for "jj absorb", where the stack of
mutable commits may be ~10, but wouldn't likely be ~100s.
2025-03-19 05:32:26 +00:00
Yuya Nishihara
f07203cb3b
cli: extract helper that prints list of indented commit summary
2025-03-19 05:32:26 +00:00
Yuya Nishihara
3b083f914c
tests: port test_file_show_command.rs to TestWorkDir API
2025-03-19 01:47:00 +00:00
Yuya Nishihara
9e04e60594
tests: port test_file_chmod_command.rs to TestWorkDir API
2025-03-19 01:47:00 +00:00
Yuya Nishihara
ae5e717d4e
tests: port test_file_annotate_command.rs to TestWorkDir API
2025-03-19 01:47:00 +00:00