Commit graph

10315 commits

Author SHA1 Message Date
Fedor
1ad4327597 docs: Update description of bookmark behaviour for commit abandonment
Starting from Jujutsu 0.26.0 bookmarks do not move to parent.
2025-10-15 08:05:05 +00:00
Martin von Zweigbergk
beda1381bd working_copy: make potentially slow methods async
There's no pressing need, but we should do this eventually.
2025-10-15 03:27:06 +00:00
Yuya Nishihara
77e2c14d79 cli: git-push: allow pushing new bookmark to tracked remote
Some checks are pending
binaries / Build binary artifacts (push) Waiting to run
website / prerelease-docs-build-deploy (ubuntu-24.04) (push) Waiting to run
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
2025-10-15 01:52:19 +00:00
Yuya Nishihara
9aaff6afbb cli: bookmark: fix list template to accept absent-tracked remote refs 2025-10-15 01:52:19 +00:00
Yuya Nishihara
937d88ff25 cli: bookmark: allow tracking/untracking absent remote bookmarks
#7072
2025-10-15 01:52:19 +00:00
Yuya Nishihara
82dd14fd85 git: ensure RemoteView is created for remote with no existing refs
This will help "jj bookmark track" know whether absent remote ref can be created
for the specified remote. "jj bookmark" subcommands shouldn't depend on
gix::Repository API.
2025-10-15 01:52:19 +00:00
Yuya Nishihara
429fec1ae3 git: export tag changes
Although we don't have "jj git tag set"/"delete" commands, this fixes weird undo
behavior #6325. The discussion in #6325 is derailed, but there would be another
issue for the "abandon unreachable" behavior.

Fixes #6325
2025-10-15 01:31:16 +00:00
Yuya Nishihara
1db9c2def7 git: extract per-ref-type functions that compare and export refs 2025-10-15 01:31:16 +00:00
Yuya Nishihara
2ebc496ca9 git: extract per-ref-type struct from RefsToExport
We'll add tags support.
2025-10-15 01:31:16 +00:00
ase
f34dbabd47 config: add support for --when.workspaces
Some checks are pending
binaries / Build binary artifacts (push) Waiting to run
website / prerelease-docs-build-deploy (ubuntu-24.04) (push) Waiting to run
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
2025-10-14 17:50:07 +00:00
Martin von Zweigbergk
e460c06224 FAQ: explain why Jujutsu's features were not made to Git instead 2025-10-14 15:36:28 +00:00
Remo Senekowitsch
9fd1ab78cd git: ensure untracked files are removed from index
Previously untracking a file with `jj file untrack` would not remove the
file from the git index (intent-to-add), making the output of
`jj status` and `git status` inconsistent.
2025-10-14 15:23:50 +00:00
Remo Senekowitsch
50f30c19d8 cli config: delete old migration rules
Some checks are pending
binaries / Build binary artifacts (push) Waiting to run
website / prerelease-docs-build-deploy (ubuntu-24.04) (push) Waiting to run
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
2025-10-14 06:13:49 +00:00
Martin von Zweigbergk
017d34625b undo: hint about jj op restore when trying to undo merge operation 2025-10-14 05:19:46 +00:00
Joseph Lou
c7630f4a3d docs: Add DatePattern type in templating
Functionality remains the same; this only affects the docs. This change
points users to supported formats for the `Timestamp.after()` and
`Timestamp.before()` methods, which can already be found in the revset
"Date pattern" type.
2025-10-14 04:05:09 +00:00
Alpha Chen
701ce0a66b docs: update link to vim dirdiff instructions 2025-10-14 03:35:25 +00:00
dependabot[bot]
3779ed052d cargo: bump the cargo-dependencies group with 4 updates
Some checks are pending
binaries / Build binary artifacts (push) Waiting to run
website / prerelease-docs-build-deploy (ubuntu-24.04) (push) Waiting to run
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
Bumps the cargo-dependencies group with 4 updates: [libc](https://github.com/rust-lang/libc), [regex](https://github.com/rust-lang/regex), [toml](https://github.com/toml-rs/toml) and [toml_edit](https://github.com/toml-rs/toml).


Updates `libc` from 0.2.176 to 0.2.177
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.177/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.176...0.2.177)

Updates `regex` from 1.11.3 to 1.12.2
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.11.3...1.12.2)

Updates `toml` from 0.9.7 to 0.9.8
- [Commits](https://github.com/toml-rs/toml/compare/toml-v0.9.7...toml-v0.9.8)

Updates `toml_edit` from 0.23.6 to 0.23.7
- [Commits](https://github.com/toml-rs/toml/compare/v0.23.6...v0.23.7)

---
updated-dependencies:
- dependency-name: libc
  dependency-version: 0.2.177
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-dependencies
- dependency-name: regex
  dependency-version: 1.12.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-dependencies
- dependency-name: toml
  dependency-version: 0.9.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-dependencies
- dependency-name: toml_edit
  dependency-version: 0.23.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-13 23:16:17 +00:00
dependabot[bot]
f9daf4de30 github: bump the github-dependencies group with 4 updates
Bumps the github-dependencies group with 4 updates: [taiki-e/install-action](https://github.com/taiki-e/install-action), [cachix/install-nix-action](https://github.com/cachix/install-nix-action), [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) and [github/codeql-action](https://github.com/github/codeql-action).


Updates `taiki-e/install-action` from 2.62.21 to 2.62.28
- [Release notes](https://github.com/taiki-e/install-action/releases)
- [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md)
- [Commits](522492a8c1...e7ef886cf8)

Updates `cachix/install-nix-action` from 31.7.0 to 31.8.0
- [Release notes](https://github.com/cachix/install-nix-action/releases)
- [Changelog](https://github.com/cachix/install-nix-action/blob/master/RELEASE.md)
- [Commits](9280e7aca8...7ab6e7fd29)

Updates `astral-sh/setup-uv` from 6.8.0 to 7.1.0
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](d0cc045d04...3259c6206f)

Updates `github/codeql-action` from 3.30.6 to 4.30.8
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](64d10c1313...f443b600d9)

---
updated-dependencies:
- dependency-name: taiki-e/install-action
  dependency-version: 2.62.28
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-dependencies
- dependency-name: cachix/install-nix-action
  dependency-version: 31.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-dependencies
- dependency-name: astral-sh/setup-uv
  dependency-version: 7.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-dependencies
- dependency-name: github/codeql-action
  dependency-version: 4.30.8
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-13 18:22:07 +00:00
Michael Chirico
20a7faaac9 docs: Add an example with 'description' & coalesce()
Some checks are pending
binaries / Build binary artifacts (push) Waiting to run
website / prerelease-docs-build-deploy (ubuntu-24.04) (push) Waiting to run
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
2025-10-13 17:23:55 +00:00
Remo Senekowitsch
6efaa210df cli: remove deprecated command backout 2025-10-13 16:49:23 +00:00
Remo Senekowitsch
deafaf70cf cli abandon: remove unsupported flag --summary 2025-10-13 15:50:01 +00:00
Martin von Zweigbergk
741a937e3a colors: don't make divergent change ids red if they're also immutable
Divergent changes in immutable commits are fine. We don't want to
alarm the user by coloring them red.

#4451
2025-10-13 15:25:46 +00:00
Martin von Zweigbergk
71661495b8 bisect: don't say that we run the provided command from the workspace root
Some checks are pending
binaries / Build binary artifacts (push) Waiting to run
website / prerelease-docs-build-deploy (ubuntu-24.04) (push) Waiting to run
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
I don't know if I planned to make the command run from the workspace
root but it doesn't currently do that. I don't think we should change
it either.
2025-10-12 23:50:50 +00:00
Martin von Zweigbergk
829b2ed261 bisect: deprecate --command <cmd> in favor of -- <cmd> <args>...
`jj bisect run --command` splits the argument on spaces, so
e.g. `--command 'cargo test'` will run `cargo` with `test` as
argument. It is hard to pass more complex commands to because we don't
parse e.g. quotes as the shell would (and we wouldn't match the user's
preferred shell even if we did).

This patch deprecates the `--command` argument in favor of positional
arguments, so the user can do things like this:

```
jj bisect run --range ..main -- bash -c 'jj duplicate -r xyz -B @ && cargo test'
```

That will run the tests with the `xyz` change applied.
2025-10-12 23:50:50 +00:00
Martin von Zweigbergk
3a7babe4d9 commit: introduce parent_tree_async(), use in already async callers
I haven't checked if this would make any difference anywhere. It's
nice if we can avoid blocking calls in existing async scopes.
2025-10-12 23:26:29 +00:00
bipul
72bfc1c96f config: add workspace-level configuration support
Some checks are pending
binaries / Build binary artifacts (push) Waiting to run
website / prerelease-docs-build-deploy (ubuntu-24.04) (push) Waiting to run
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
- Added support for workspace-specific configuration using `jj config` commands.
- Introduced `--workspace` option to `jj config edit`, `jj config set`, and `jj config unset`.
- Workspace configuration file is stored in `.jj/workspace-config.toml` per workspace.
- Simplified workspace path handling logic.
- Updated documentation and test snapshots to reflect new behavior.

This improves flexibility for users working across multiple workspaces.

Co-authored-by: Eidolon <furyhunter600@gmail.com>
Co-authored-by: ase <adam@sandbergericsson.se>
2025-10-12 14:43:12 +00:00
Joseph Lou
76fc4a939c docs: Add description to Commit.trailers()
Some checks are pending
binaries / Build binary artifacts (push) Waiting to run
website / prerelease-docs-build-deploy (ubuntu-24.04) (push) Waiting to run
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
2025-10-12 05:46:54 +00:00
ase
f9afca6bc8 config: remove duplicate os from config-schema.json
Some checks are pending
binaries / Build binary artifacts (push) Waiting to run
website / prerelease-docs-build-deploy (ubuntu-24.04) (push) Waiting to run
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
2025-10-11 17:01:33 +00:00
Joseph Lou
12d649223f template: Add template-aliases.empty_placeholder
This is similar to `description_placeholder` and provides a simple alias
to globally override the "(empty)" label to something else.
2025-10-11 16:44:28 +00:00
Yuya Nishihara
26bbda9d73 git: on import, do not ignore absent tracked remote refs
Since "tracked" state doesn't exist in Git, git::import_refs() should ignore
absent->absent "changes". git::export_refs() just works because it compares only
ref targets.
2025-10-11 11:59:28 +00:00
Yuya Nishihara
081f35d986 view: allow setting tracked state to absent remote refs
This will allow us to set up tracking state and push new bookmarks in two steps
#7072.

Absent tracked remote refs are deleted with the corresponding local ref. I
originally considered this rule could be enforced by git::import/export_refs(),
but it seemed weird if absent remote refs were left when the tracking local ref
was deleted by user. Therefore, this invariant is ensured by the view API.

Since "jj bookmark track" cannot track absent remote refs yet, this patch
doesn't have UX changes that should be documented.
2025-10-11 11:59:28 +00:00
Yuya Nishihara
122acd5a7a test_git: compare state of absent RemoteRef
The next patch will allow setting tracked state to absent remote refs.
2025-10-11 11:59:28 +00:00
Michael Chirico
2b261a23b3 user-friendliness: hint at lack of access as a possible reason to error
Some checks are pending
binaries / Build binary artifacts (push) Waiting to run
website / prerelease-docs-build-deploy (ubuntu-24.04) (push) Waiting to run
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
2025-10-10 21:59:16 +00:00
Ross Smyth
343b305f69 nix: defaultSystem -> flakeExposed system for RISC-V exposure
Some checks are pending
binaries / Build binary artifacts (push) Waiting to run
website / prerelease-docs-build-deploy (ubuntu-24.04) (push) Waiting to run
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
Flakes suck
2025-10-09 22:12:52 +00:00
Gaëtan Lehmann
b3ea95ff59 squash: fix -A -B behavior
Some checks are pending
binaries / Build binary artifacts (push) Waiting to run
website / prerelease-docs-build-deploy (ubuntu-24.04) (push) Waiting to run
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
and add the corresponding test. The children of the new commit were not
properly rebased on their parents.

fix: #7636
2025-10-09 15:53:46 +00:00
Gaëtan Lehmann
39c73e403f metaedit: fix 'squash' in test name
Some checks are pending
binaries / Build binary artifacts (push) Waiting to run
website / prerelease-docs-build-deploy (ubuntu-24.04) (push) Waiting to run
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
2025-10-09 07:29:04 +00:00
Gaëtan Lehmann
336d9f7997 metaedit: test multiple input revisions
We were previously only testing the edition on a single revision.
2025-10-09 07:29:04 +00:00
Defelo
b38dcbb919 ssh-signing: include key in verification result
Some checks are pending
binaries / Build binary artifacts (push) Waiting to run
website / prerelease-docs-build-deploy (ubuntu-24.04) (push) Waiting to run
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
2025-10-08 13:02:43 +00:00
Bryce Berger
b9ad82b97a templates: add remote and * to bookmarks in builtin_log_redacted
Remote names are potentially sensitive? Unsure, so better to redact them.

For getting the "*": This could have been done without modifying the
Rust side, with e.g. `stringify(bookmark).ends_with("*")`. However, this
feels brittle.

With adding `.synced()` to the template language, bookmark formatting
_could_ be done entirely in templates now. I don't know if that's
desired, so leaving for a potential future commmit.
2025-10-08 12:48:27 +00:00
Martin von Zweigbergk
8b07de4908 cli: when importing Git HEAD, reset working copy to new child commit
Some checks are pending
binaries / Build binary artifacts (push) Waiting to run
website / prerelease-docs-build-deploy (ubuntu-24.04) (push) Waiting to run
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
I'm trying to go through the code and make sure that the working copy
is always updated to whatever the working-copy commit in the operation
says. The operation we pass to `LockedWorkingCopy::finish()`, that
is. That wasn't the case after importing the Git HEAD commit. There,
we passed the parent commit instead. It doesn't matter in practice
since the commit is empty but I think it is clearer this way.
2025-10-08 02:18:49 +00:00
Alpha Chen
7ce6aef15b docs: update default-description to be more concise 2025-10-08 02:15:18 +00:00
Yuya Nishihara
9d11428892 templater: remove unneeded special case from string.split() method
Some checks are pending
binaries / Build binary artifacts (push) Waiting to run
website / prerelease-docs-build-deploy (ubuntu-24.04) (push) Waiting to run
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
https://docs.rs/regex/latest/regex/struct.Regex.html#method.splitn
2025-10-07 13:43:19 +00:00
Martin von Zweigbergk
42cf192aff cli: add debug object tree -r
This is similar to `jj debug object view --op` in the previous patch.
2025-10-07 13:42:21 +00:00
Martin von Zweigbergk
778c164a4d cli: add debug object view --op
When debugging why a workspace has a particular state, I often run `jj
op log -T id` to find an operation id. Then I pass that to `jj debug
object operation`. Then I get the view id from there and pass it to
`jj debug object view`. To simplify that process, this commit adds a
`jj debug object view --op` which accepts the usual operation
expression (not just a full operation id). Since I often use the
command is for debugging workspaces for other users and/or broken
workspaces, I made it not snapshot.
2025-10-07 13:42:21 +00:00
Martin von Zweigbergk
92e89350fc repo: drop some leading underscores from function names
I don't know what the leading underscores were supposed to indicate
but we don't use them anywhere else.
2025-10-07 10:39:43 +00:00
George Christou
9856b38026 template: add string split method 2025-10-07 10:24:28 +00:00
Gaëtan Lehmann
9bc9d5b3a7 doc: monitor jj log with watchexec
Some checks are pending
binaries / Build binary artifacts (push) Waiting to run
website / prerelease-docs-build-deploy (ubuntu-24.04) (push) Waiting to run
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
2025-10-07 06:01:40 +00:00
David Higgs
a9797552d7 metaedit: add --message option, fix: #7634 2025-10-07 00:54:16 +00:00
Steve Fink
14ca2edb7e cli: Make log -G be the short form of --no-graph
Closes #7638
2025-10-06 23:02:16 +00:00
dependabot[bot]
d1f2510163 github: bump the github-dependencies group with 4 updates
Some checks are pending
binaries / Build binary artifacts (push) Waiting to run
website / prerelease-docs-build-deploy (ubuntu-24.04) (push) Waiting to run
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
Bumps the github-dependencies group with 4 updates: [taiki-e/install-action](https://github.com/taiki-e/install-action), [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv), [github/codeql-action](https://github.com/github/codeql-action) and [ossf/scorecard-action](https://github.com/ossf/scorecard-action).


Updates `taiki-e/install-action` from 2.62.13 to 2.62.21
- [Release notes](https://github.com/taiki-e/install-action/releases)
- [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md)
- [Commits](d0f4f69b07...522492a8c1)

Updates `astral-sh/setup-uv` from 6.7.0 to 6.8.0
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](b75a909f75...d0cc045d04)

Updates `github/codeql-action` from 3.30.5 to 3.30.6
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](3599b3baa1...64d10c1313)

Updates `ossf/scorecard-action` from 2.4.2 to 2.4.3
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)
- [Commits](05b42c6244...4eaacf0543)

---
updated-dependencies:
- dependency-name: taiki-e/install-action
  dependency-version: 2.62.21
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-dependencies
- dependency-name: astral-sh/setup-uv
  dependency-version: 6.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-dependencies
- dependency-name: github/codeql-action
  dependency-version: 3.30.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-dependencies
- dependency-name: ossf/scorecard-action
  dependency-version: 2.4.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-06 18:00:34 +00:00