dependabot[bot]
72985a6286
cargo: bump prost from 0.11.8 to 0.11.9
...
Bumps [prost](https://github.com/tokio-rs/prost ) from 0.11.8 to 0.11.9.
- [Release notes](https://github.com/tokio-rs/prost/releases )
- [Commits](https://github.com/tokio-rs/prost/compare/v0.11.8...v0.11.9 )
---
updated-dependencies:
- dependency-name: prost
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-04-13 16:26:06 +00:00
dependabot[bot]
86bbea2b3c
cargo: bump serde_json from 1.0.95 to 1.0.96
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.95 to 1.0.96.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.95...v1.0.96 )
---
updated-dependencies:
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-04-13 16:21:06 +00:00
dependabot[bot]
1a490cc170
github: bump actions/checkout from 3.5.1 to 3.5.2
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 3.5.1 to 3.5.2.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](83b7061638...8e5e7e5ab8
)
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-04-13 16:11:24 +00:00
Martin von Zweigbergk
92a911b7a3
cli: rename jj support
to jj util
...
I wasn't quite happy with `jj support` but I couldn't think of
anything better when I moved the commands from `jj debug` in
e2b4d7058d
. Thanks to @ilyagr for suggesting `jj util`.
2023-04-12 21:34:47 -07:00
Martin von Zweigbergk
e492548772
revset: bump generation numbers in API to 64 bits
...
A chain of 4 billion commits is a lot, but it's not out of the
question, so let's support it. The current default index will not be
able to handle that many commits, so I let that still use 32-bit
integers.
2023-04-12 21:18:49 -07:00
Aaron Bull Schaefer
ba9ecea269
docs: explicitly list the platform-specific config paths
...
The value table is borrowed from the upstream dirs library documenation:
- https://docs.rs/dirs/5.0.0/dirs/fn.config_dir.html
2023-04-12 15:04:23 -07:00
Aaron Bull Schaefer
a3973cc53f
docs: remove erroneous home directory prefix from per-repo config path
2023-04-12 13:14:30 -07:00
dependabot[bot]
d31f5c79ce
github: bump EmbarkStudios/cargo-deny-action from 1.5.1 to 1.5.2
...
Bumps [EmbarkStudios/cargo-deny-action](https://github.com/EmbarkStudios/cargo-deny-action ) from 1.5.1 to 1.5.2.
- [Release notes](https://github.com/EmbarkStudios/cargo-deny-action/releases )
- [Commits](3d26fd4e2a...e0a440755b
)
---
updated-dependencies:
- dependency-name: EmbarkStudios/cargo-deny-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-04-12 16:26:32 +00:00
dependabot[bot]
db61db6de8
github: bump actions/checkout from 3.5.0 to 3.5.1
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 3.5.0 to 3.5.1.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](8f4b7f8486...83b7061638
)
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-04-12 16:10:44 +00:00
Aaron Bull Schaefer
239f879caf
docs: fix minor typos in GitHub example commands
2023-04-11 14:41:00 -07:00
dependabot[bot]
54ff97be6c
cargo: bump serde from 1.0.159 to 1.0.160
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.159 to 1.0.160.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.159...v1.0.160 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-04-11 09:34:54 -07:00
Ilya Grigoriev
21128ba703
docs: add a word to docs about divergent
2023-04-09 22:56:33 -07:00
Ilya Grigoriev
d50c0f5085
Templater: label hidden commits (aka abandoned commits)
...
Looks like "change_id normal" + color. Picture for `jj obslog`:
https://user-images.githubusercontent.com/4123047/230708271-4108cf5f-255d-419e-bd3e-fc97dc8b8660.png
This should also be occasionally be useful for e.g. `jj log commit_id`.
I also considered the wording `(Was change_id)` or `change_id (old)`, `change_id (obs)`.
2023-04-09 22:56:33 -07:00
Ilya Grigoriev
c735d92e8c
formatter: allow using "default" terminal color
...
The "default" color resets the terminal color to default.
2023-04-09 22:56:33 -07:00
Martin von Zweigbergk
e468f9c97a
cargo: upgrade off of yanked crossbeam-channel
version
2023-04-09 22:36:50 -07:00
Yuya Nishihara
5351371d51
revset: resolve visible heads prior to evaluation
2023-04-10 00:39:58 +09:00
Yuya Nishihara
7e1e9efa38
revset: resolve "all()" prior to evaluation
2023-04-10 00:39:58 +09:00
Yuya Nishihara
f43f0d24b8
revset: resolve candidates of children set prior to evaluation
2023-04-10 00:39:58 +09:00
Yuya Nishihara
7974269bab
revset: remove None variant from resolved enum, use Commits([]) instead
...
We'll remove All, so it makes sense to not have None either.
2023-04-10 00:39:58 +09:00
Yuya Nishihara
0fcc13a6f4
revset: make resolve() return different type describing evaluation plan
...
New ResolvedExpression enum ensures that the evaluation engine doesn't have
to know the symbol resolution details. In this commit, I've moved Filter
and NotIn resolution to resolve_visibility(). Implicit All/VisibleHeads
resolution will be migrated later.
It's tempting to combine resolve_symbols() and resolve_visibility() to get
rid of panic!()s, but the resolution might have to be two passes to first
resolve&collect explicit commit ids, and then substitute "all()" with
"(:visible_heads())|commit_id|..". It's also possible to apply some tree
transformation after symbol resolution.
2023-04-10 00:39:58 +09:00
Yuya Nishihara
6c2525cb93
revset: add "resolve" method to RevsetExpression, always call it
...
I'll make the resolution stage mandatory, and have it return a "resolved"
type. RevsetExpression::evaluate() will be moved to the "resolved" type.
2023-04-10 00:39:58 +09:00
Yuya Nishihara
6d9b836d10
revset: extract unresolved commit references to separate enum
...
This makes it clear what should be resolved at resolve_symbols(). Symbol
is a bit special while parsing function arguments, but it's no different
than the other unresolved references at expression level.
2023-04-10 00:39:58 +09:00
Yuya Nishihara
fc65b00020
revset: extract CommitId resolution to function
...
I'm going to merge unresolved variants as RevsetExpression::CommitRef(_).
This prepares for the change.
2023-04-10 00:39:58 +09:00
Yuya Nishihara
0d991bfa4a
cli: make "debug revset" print expression for each stage
...
It helps while debugging tree substitution.
2023-04-10 00:39:58 +09:00
Ilya Grigoriev
f5a3d02638
formatter: error out on invalid color names
2023-04-08 20:58:48 -07:00
Martin von Zweigbergk
4b5b497283
tests: use absolute timestamps in the operation log
...
The current use of `timestamp.ago()` in the default template makes the
tests depend on the current time, which they shouldn't.
2023-04-08 14:02:39 -07:00
Yuya Nishihara
9e027c0aa2
build: strip newline from "git rev-parse" output
...
It works because a build command is line oriented, but it's technically
wrong to include "\n" in git_hash.
2023-04-08 13:01:37 +09:00
Ilya Grigoriev
7a8903e5e7
Fixup to ed0b23d
: make build.rs not insert color
...
Currently, the hash becomes colored if jj is used to get it at
build time and the user configured `color="always"` in jj's
config.
2023-04-07 20:39:43 -07:00
Yuya Nishihara
adfd52445b
revset: reimplement children to not scan visible ancestors twice
...
It's slightly faster, and removes the use of RevsetExpression::descendants()
API.
2023-04-08 12:13:30 +09:00
Yuya Nishihara
5dd99db250
revset: make evaluation helper not create trait object eagerly
...
We wouldn't care for the cost of virtual dispatch at this level, but I
think a concrete struct type is easier to deal with than trait object.
2023-04-08 12:13:30 +09:00
Yuya Nishihara
85fb1f74c3
revset: for roots:heads, terminate ancestor lookup at min(roots)
2023-04-08 12:13:30 +09:00
Yuya Nishihara
ddff089286
revset: do not evaluate roots() candidates three times
2023-04-08 12:13:30 +09:00
Yuya Nishihara
eef6a77aa4
revset: reuse reachable dag-range set to calculate roots
...
This also removes the use of RevsetExpression::connected() API from the
evaluation engine.
2023-04-08 12:13:30 +09:00
Yuya Nishihara
20aa31336e
revset: extract dag-range calculation to function
...
The returned reachable set can be reused to calculate roots() expression.
2023-04-08 12:13:30 +09:00
Yuya Nishihara
7dc35b82b0
revset: evaluate ancestors without using RevsetExpression builder API
...
I'm thinking of transforming RevsetExpression to a enum dedicated for
the evaluation stage. To help the migration, I want to remove the use of
the RevsetExpression builder API from the evaluation engine.
Fewer virtual dispatch is also better.
2023-04-08 12:13:30 +09:00
Martin von Zweigbergk
ed0b23d009
cli: include commit id from build in version
...
This changes the version number reported by `jj version` from "0.7.0"
to something like
"0.7.0-24a512683bc921699575b6a953624b05c068d544a". The hash is added
if running in a jj repo or a git repo.
2023-04-07 17:33:44 -07:00
dependabot[bot]
cfdfc452dc
github: bump github/codeql-action from 2.2.10 to 2.2.11
...
Bumps [github/codeql-action](https://github.com/github/codeql-action ) from 2.2.10 to 2.2.11.
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](8c8d71dde4...d186a2a36c
)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-04-07 10:02:55 -07:00
Martin von Zweigbergk
24a512683b
revset: add a revset function for finding commits with conflicts
...
This adds `conflict()` revset that selects commits with conflicts. We
may want to extend it later to consider only conflicts at certain
paths.
2023-04-06 16:46:21 -07:00
dependabot[bot]
f0cc4c3ae2
github: bump github/codeql-action from 2.2.9 to 2.2.10
...
Bumps [github/codeql-action](https://github.com/github/codeql-action ) from 2.2.9 to 2.2.10.
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](04df1262e6...8c8d71dde4
)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-04-06 16:27:50 -07:00
dependabot[bot]
dc9658159b
github: bump EmbarkStudios/cargo-deny-action from 1.5.0 to 1.5.1
...
Bumps [EmbarkStudios/cargo-deny-action](https://github.com/EmbarkStudios/cargo-deny-action ) from 1.5.0 to 1.5.1.
- [Release notes](https://github.com/EmbarkStudios/cargo-deny-action/releases )
- [Commits](8af37f5d0c...3d26fd4e2a
)
---
updated-dependencies:
- dependency-name: EmbarkStudios/cargo-deny-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-04-06 16:27:29 -07:00
David Barnett
22306af17a
Add docs on how to use GitHub CLI in repos that aren't co-located
2023-04-05 21:22:49 -06:00
Martin von Zweigbergk
ac27cdea69
cli: include total downloaded size in progress output
...
With this change, the output looks like this:
```
3% 165.9 Mi at 13.4 MiB/s [█▋ ]
```
Closes #1483 .
2023-04-05 06:21:32 -07:00
Yuya Nishihara
308a5b9eae
revset: make empty()/file(".") not load root tree for liner history
...
TreeDiffIterator wouldn't load identical subtrees, but it's up to caller to
optimize out the root tree loading.
2023-04-05 21:53:24 +09:00
dependabot[bot]
feeb83dc0f
cargo: bump libc from 0.2.140 to 0.2.141
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.140 to 0.2.141.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.140...0.2.141 )
---
updated-dependencies:
- dependency-name: libc
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-04-04 10:02:26 -07:00
Ilya Grigoriev
233dda1057
cmd: prohibit creating branches at the root commit
...
Such branches lead to confusing errors on git expoert or push.
2023-04-03 23:51:47 -07:00
Ilya Grigoriev
31f7c806e2
squash
/amend
: Add -m
argument to set description
...
This prevents an editor opening, and is useful in scripts/tests.
2023-04-03 23:51:15 -07:00
Martin von Zweigbergk
e1c57338a1
revset: split out no-args head()
to visible_heads()
...
The `heads()` revset function with one argument is the counterpart to
`roots()`. Without arguments, it returns the visible heads in the
repo, i.e. `heads(all())`. The two use cases are quite different, and
I think it would be good to clarify that the no-arg form returns the
visible heads, so let's split that out to a new `visible_heads()`
function.
2023-04-03 23:46:34 -07:00
Yuya Nishihara
982062bd75
revset: do not always evaluate filter node to InternalRevset
...
This basically removes hidden 'all() &' from union/negation of filters. To
achieve that, I have two options: 1. add separate evaluation path (like the
one this commit introduced), or 2. wrap "all()" revset to override predicate
as Box::new(|_| true) function. I took the former since it's less ad-hoc.
We can add an explicit RevsetExpression node to branch between evaluate()
and evaluate_predicate(), but I don't think it would simplify the
implementation at this point. We might need such node if we want to resolve
"all()" at resolve_symbols(). It might be even better to extract a subset of
RevsetExpression enum, which only contains evaluatable nodes.
The cost of 'all() &' isn't significant for most filters. '~merges()' is
the exception. For jj repo,
revsets/:v0.3.0 & (author(martinvonz) | committer(martinvonz))
--------------------------------------------------------------
base 1.06 11.2±0.04m
new 1.00 10.5±0.05m
revsets/~merges()
-----------------
base 1.69 750.0±8.47µ
new 1.00 444.1±3.50µ
2023-04-04 15:21:21 +09:00
Yuya Nishihara
69794f2585
revset: add method to upcast InternalRevset to ToPredicateFn
2023-04-04 15:21:21 +09:00
Yuya Nishihara
426f3e4e0a
revset: simplify evaluation of "all()"
...
I think this is more readable, and apparently it produces slightly better code
maybe because the compiler can determine that there are no unwanted markers.
2023-04-04 15:21:21 +09:00