dependabot[bot]
63b02ab05f
cargo: bump the cargo-dependencies group with 2 updates
...
Bumps the cargo-dependencies group with 2 updates: [clap](https://github.com/clap-rs/clap ) and [libc](https://github.com/rust-lang/libc ).
Updates `clap` from 4.4.2 to 4.4.3
- [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.4.2...v4.4.3 )
Updates `libc` from 0.2.147 to 0.2.148
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.147...0.2.148 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-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>
2023-09-13 08:58:37 -07:00
Ilya Grigoriev
0cf83ea306
contributing.md: add section about contributing to the docs
2023-09-11 18:22:56 -07:00
Ilya Grigoriev
fd80dcd5ed
README: Edits to Getting Started
...
The link to the glossary was weirdly far from the link to the FAQ.
Also, added a mention of the prerelease docs.
2023-09-11 18:22:56 -07:00
Ilya Grigoriev
eee3d488f1
README: point users to the new documentation website
2023-09-11 18:22:56 -07:00
Ilya Grigoriev
21f4015cbf
install-and-setup.md: explain how to compile the latest release
...
Also a few minor updates.
2023-09-11 18:21:56 -07:00
dependabot[bot]
9d20f1af31
cargo: bump the cargo-dependencies group with 2 updates
...
Bumps the cargo-dependencies group with 2 updates: [rustix](https://github.com/bytecodealliance/rustix ) and [serde_json](https://github.com/serde-rs/json ).
Updates `rustix` from 0.38.11 to 0.38.13
- [Release notes](https://github.com/bytecodealliance/rustix/releases )
- [Commits](https://github.com/bytecodealliance/rustix/compare/v0.38.11...v0.38.13 )
Updates `serde_json` from 1.0.105 to 1.0.106
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.105...v1.0.106 )
---
updated-dependencies:
- dependency-name: rustix
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-dependencies
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-09-11 09:53:28 -07:00
Martin von Zweigbergk
8bfb6c10fd
cli: add jj op log --no-graph
...
Seems useful, and makes it consistent with the `jj log` and `jj
obslog`.
2023-09-10 15:17:43 -07:00
Yuya Nishihara
fc86d91b15
tests: fix test_merge_views_branches() to set up local "feature" branches
...
Git refs aren't involved in this test.
2023-09-11 01:07:29 +09:00
Yuya Nishihara
b80d04319d
tests: rewrite "@"/"root" revset resolution tests without using bad git refs
2023-09-11 01:07:29 +09:00
Martin von Zweigbergk
86206e83a4
repo_path: avoid repeated copying of PathBuf
in to_fs_path()
...
I've noticed `WorkspaceCommandHelper::format_file_path()` appear in
profiles a few times. A big part of that is spent in
`RepoPath::to_fs_path()`. I think I had been thinking that
`PathBuf::join()` takes `self` by value and mutates it, but it turns
out it creates a new instance. So our `result = result.join(...)` in a
loop was copying the `PathBuf` over and over. This fixes that and also
reserves the expected size. That speeds up `jj files
--ignore-working-copy -r v6.0` in the Linux repo from 546.0 s to 509.3
s (6.7%).
2023-09-09 08:43:29 -07:00
Austin Seipp
2e8b824da7
chore(nix): add 'default' features to list of cargo features
...
Summary: By default, and to be explicit, the local flake turns off default
features. But, 70f6e0a
turned off watchman support for the Nix build by
accident. Enable default features so this doesn't happen again.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
Change-Id: Ib7dd935eceab328fa5b0333b10368377
2023-09-08 19:38:24 -05:00
Martin von Zweigbergk
70f6e0a452
cargo: enable the watchman feature by default
...
I think the feature is requested by enough users that we should
include it by default, also for people who install from source (we
include it in the `packaging` feature already).
It increases the size of the binary from 16.5 MiB to 17.8 MiB. I
suspect we'd see some of that increase in size soon anyway, as I'm
probably going to use Tokio for making async backend requests.
2023-09-08 09:34:55 -07:00
Martin von Zweigbergk
1c8d27dc39
faq: add entry about accidentally amended working copy
2023-09-08 08:59:59 -07:00
dependabot[bot]
89e5cbd6ef
cargo: bump the cargo-dependencies group with 1 update
...
Bumps the cargo-dependencies group with 1 update: [toml_edit](https://github.com/toml-rs/toml ).
- [Commits](https://github.com/toml-rs/toml/compare/v0.19.14...v0.19.15 )
---
updated-dependencies:
- dependency-name: toml_edit
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-09-08 15:41:59 +00:00
Yuya Nishihara
d05aaf30b4
git: promote imported commits to tree-conflict format if configured
2023-09-08 21:54:43 +09:00
Yuya Nishihara
0c4e667e48
git: import new head commits all at once
2023-09-08 21:54:43 +09:00
Yuya Nishihara
f744e5920b
git: create no-gc ref by GitBackend
...
Since we now have an explicit method to import heads, it makes more sense to
manage no-gc refs by the backend.
2023-09-08 21:54:43 +09:00
Yuya Nishihara
17f502c83a
git: do not import unknown commits by read_commit(), use explicit method call
...
The main goal of this change is to enable tree-level conflict format, but it
also allows us to bulk-import commits on clone/init. I think a separate method
will help if we want to provide progress information, enable check for
.jjconflict entries under certain condition, etc.
Since git::import_refs() now depends on GitBackend type, it might be better to
remove git_repo from the function arguments.
2023-09-08 21:54:43 +09:00
Yuya Nishihara
dde1c1ec9c
revset: use ancestors(x, 0) in tree substitution test
2023-09-08 09:28:14 +09:00
Yuya Nishihara
8b825796ff
cli: rewrite "x | x-" in default log revset as "ancestors(x, 2)"
2023-09-08 09:28:14 +09:00
Ilya Grigoriev
5fc71018d6
config docs: minor fixups
...
mkdocs can't seem to handle backticks in link anchors for out-of-text links.
2023-09-07 11:01:12 -07:00
Martin von Zweigbergk
8640eacfbd
cargo: don't expose the criterion
feature
...
There should be no reason to include `criterion` without the `bench`
feature. Adding the `dep:` prefix to any dependency makes cargo not
expose the implicit `criterion` feature.
2023-09-07 11:00:25 -07:00
James Sully
0946934ca6
revset: Add optional argument n to ancestors() in revset language
2023-09-08 02:50:58 +10:00
James Sully
6ea10906a8
revset: add ancestors_range() method
2023-09-08 02:50:58 +10:00
Martin von Zweigbergk
233b31fdf2
docs: try to clarify that we want contributors to squash fixup commits
...
It's happened a few times that contributors misunderstood the
guidelines, so they're clearly not clear enough. Hopefully this
clarifies.
2023-09-07 09:31:45 -07:00
dependabot[bot]
8660b39b4c
github: bump the github-dependencies group with 1 update
...
Bumps the github-dependencies group with 1 update: [actions/upload-artifact](https://github.com/actions/upload-artifact ).
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](0b7f8abb15...a8a3f3ad30
)
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-09-07 15:48:44 +00:00
dependabot[bot]
67258d52e7
cargo: bump the cargo-dependencies group with 3 updates
...
Bumps the cargo-dependencies group with 3 updates: [bytes](https://github.com/tokio-rs/bytes ), [clap_complete](https://github.com/clap-rs/clap ) and [chrono](https://github.com/chronotope/chrono ).
Updates `bytes` from 1.4.0 to 1.5.0
- [Release notes](https://github.com/tokio-rs/bytes/releases )
- [Changelog](https://github.com/tokio-rs/bytes/blob/master/CHANGELOG.md )
- [Commits](https://github.com/tokio-rs/bytes/compare/v1.4.0...v1.5.0 )
Updates `clap_complete` from 4.4.0 to 4.4.1
- [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.4.0...clap_complete-v4.4.1 )
Updates `chrono` from 0.4.29 to 0.4.30
- [Release notes](https://github.com/chronotope/chrono/releases )
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md )
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.29...v0.4.30 )
---
updated-dependencies:
- dependency-name: bytes
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo-dependencies
- dependency-name: clap_complete
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-dependencies
- dependency-name: chrono
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-09-07 15:44:04 +00:00
Vamsi Avula
ddb6e1b954
cli: label working copies when writing commit summaries
2023-09-07 12:43:58 +05:30
Yuya Nishihara
c4769e0b7c
revset: translate symbol rules in error message
...
Since we have overloaded operator symbols, we need to deduplicate them
upfront. Legacy and compat operators are also removed from the suggestion.
It's a bit ugly to mutate the error struct before calling Error::renamed_rule(),
but I think it's still better than reimplementing message formatting function.
2023-09-07 15:29:39 +09:00
Martin von Zweigbergk
a422fd7f67
cargo: add version number to jj-lib
dependency
...
This is required for `cargo publish`. It seems better to have it
tracked than to do add it whenever we publish.
2023-09-06 17:20:31 -07:00
Ilya Grigoriev
2911f414bd
docs: remove v0.7.0 shell completion instructions
...
Now that v0.9.0 is released, it seems appropriate.
2023-09-06 15:35:01 -07:00
Martin von Zweigbergk
d047512115
docs: prefer new revset operator ::
over deprecated :
...
Now that we're very close to a release, it should be fine to use the
new syntax in our documentation. This effecttively backs out
37436f7344
.
2023-09-06 13:09:14 -07:00
Martin von Zweigbergk
bafd1b568e
changelog: more orphan entries under headings
2023-09-06 11:32:48 -07:00
Martin von Zweigbergk
c7d1932546
release: release version 0.9.0
...
Thanks to everyone who's contributed!
2023-09-06 10:57:57 -07:00
Ilya Grigoriev
18bcc87794
docs: make co-located repos more prominent, more details
...
At this point, they are stable enough that I think we should
advertise them and encourage their use. This also explains
some caveats.
2023-09-06 09:15:27 -07:00
Ilya Grigoriev
be8be2e55a
docs: More info about syncing jj
repo with rsync
...
This will be used for context in the next commit
Includes a mention of
https://github.com/martinvonz/jj/issues/2193 .
2023-09-06 09:15:27 -07:00
Martin von Zweigbergk
7c8f66ab0c
cli: make jj abandon
print commit info as it was before the command
...
As we discussed in #1928 , it seems better to print information about
abandoned commits in the context of the pre-abandon state. For
example, that means that we'll include any branches that pointed to
the now-abandoned commits.
2023-09-05 21:51:32 -07:00
Yuya Nishihara
a868b2d9a5
revset: do not lookup unimported tags or remote branches by unqualified name
...
Since e7e49527ef
"git: ensure that remote branches never diverge", the last
known "refs/remotes" ref should be synced with the corresponding remote branch.
So we can always trust the branch@remote expression. We don't need "refs/tags"
lookup either since tags should have been imported by git::import_refs().
FWIW, I'm thinking of reorganizing view.git_refs() map as per-remote views.
It would be nice if we can get rid of revsets and template keywords exposing
low-level Git ref primitives.
2023-09-06 13:42:22 +09:00
Yuya Nishihara
4e6323c0a4
revset: add basic test for tag name resolution
2023-09-06 13:42:22 +09:00
Yuya Nishihara
8f4512b109
git: rename local variables in diff_refs_to_export()
...
old/new_branch sounds like a branch name, but it's a RefTarget. And
jj_known_refs_passing_filter may contain "new" ref names.
2023-09-06 08:17:49 +09:00
Yuya Nishihara
119cc88832
git: extract calculation step from export_some_refs()
...
export_some_refs() is big, let's split it to functions of reasonable size.
2023-09-06 08:17:49 +09:00
Yuya Nishihara
89f1d83a22
git: do not export new ref if racy process created one with the same name
...
Since we've checked the ref doesn't exist in this code path, I think it's
better to not overwrite the existing ref.
2023-09-06 08:17:49 +09:00
Yuya Nishihara
a4dd598e3e
git: extract helper that exports single updated ref
2023-09-06 08:17:49 +09:00
Yuya Nishihara
d1a08782c9
git: extract helper that exports single deleted ref
2023-09-06 08:17:49 +09:00
Yuya Nishihara
7282b517e8
git: remove stale TODO comment about FailedRefExportReason
2023-09-06 08:17:49 +09:00
Philip Metzger
f131dc9814
commands: Implement next
and prev
...
This is a naive implementation, which cannot deal with multiple children
or parents stemming from merges.
Note: I gave each command separate a separate argument struct
for extensibility.
Fixes #878
2023-09-05 23:13:39 +02:00
Philip Metzger
8dda7e21e0
revsets: Add descendants_at
and ancestors_at
...
They are needed for `next` and `prev`.
They behave symmetrically for parents and children.
2023-09-05 23:13:39 +02:00
dependabot[bot]
57f46a4bb7
cargo: bump the cargo-dependencies group with 1 update
...
Bumps the cargo-dependencies group with 1 update: [chrono](https://github.com/chronotope/chrono ).
- [Release notes](https://github.com/chronotope/chrono/releases )
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md )
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.28...v0.4.29 )
---
updated-dependencies:
- dependency-name: chrono
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-09-05 16:13:02 +00:00
Martin von Zweigbergk
2b9c9d22cf
cli: make it allowed to have a branch on the root commit again
...
Closes #1529 .
2023-09-04 20:08:11 -07:00
Martin von Zweigbergk
f198a1e5f9
git: skip branches on root commit on export
...
Git doesn't have a root commit, so we should skip branches pointing to
it on export, just like we do with conflicted branches (which Git also
doesn't support).
2023-09-04 20:08:11 -07:00