Yuya Nishihara
3b49eb8064
templates: rename "show" template alias to "builtin_log_detailed"
...
"jj show" is basically a "log" command with different defaults. We'll need
to consider this kind of stuff if we want to introduce namespace to templates.
2023-04-22 14:37:39 +09:00
Yuya Nishihara
feeacacb7b
tests: rewrite default-command test to not depend on "show" template
2023-04-22 14:37:39 +09:00
Martin von Zweigbergk
366cee06c4
templates: extract default template to an alias
...
This way you can do `jj log -T 'default_log_template + "\n"'` to add a
blank line between commits.
2023-04-21 14:25:37 -07:00
dependabot[bot]
07a99cf3ee
cargo: bump libc from 0.2.141 to 0.2.142
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.141 to 0.2.142.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.141...0.2.142 )
---
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-21 10:11:48 -07:00
dependabot[bot]
1c96d5c939
cargo: bump clap_complete from 4.2.0 to 4.2.1
...
Bumps [clap_complete](https://github.com/clap-rs/clap ) from 4.2.0 to 4.2.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.2.0...clap_complete-v4.2.1 )
---
updated-dependencies:
- dependency-name: clap_complete
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-04-21 10:11:32 -07:00
Martin von Zweigbergk
39e83b9f4a
cli: move $JJ_VERSION
out of CLI library
...
It should be up to the binary to decide which version it is. One
should be able to build the library without specifying a version.
2023-04-20 19:22:47 -07:00
Martin von Zweigbergk
6cb64bd255
tests: drop a few unnecessary --dry-run
from tests
...
I think we should test actually performing the push when possible. I
think I initially used `--dry-run` because I thought it wasn't
possible to do local pushes with libgit2.
2023-04-19 22:56:51 -07:00
Aaron Bull Schaefer
6445ccea7b
cli: use a unique file extension for description tempfiles
...
Establishing a unique file extension for the temporary files created
via `jj describe` helps to ensure that text editors can recognize the
filetype and alter settings accordingly. This will open the door for
an improved user experience, and allow for setting things like the
appropriate text-width/rulers, syntax highlighting of the diff summary
(see Git's commit tree-sitter grammer [1]), easy toggling of the `JJ:`
comment lines, etc.
I examined the behavior of filetype detection across a number of
common text editors, and the most universally-support mechanism was
to have a unique extension that does not include any periods. Meaning
that namespacing via something like `.jj.txt` instead, won't always be
detected due to inconsistent matching prioritization across editors.
It also makes sense to assume that we may want other Jujutsu-specific
filetypes in the future.
The filename prefix has also been switched to be `editor-` for clarity,
as well as to ease matching a glob-pattern if we ever need to garbage
collect leftover tempfiles. This structure is similar to what Mercurial
and Sapling do as well.
[1] https://github.com/the-mikedavis/tree-sitter-git-commit
2023-04-18 18:35:19 -07:00
Martin von Zweigbergk
c60f14899a
index: remove entry_by_id() from trait
...
It no longer needs to be on the `Index` trait, thereby removing the
last direct use of `IndexEntry` in the trait (it's still used
indirectly in `walk_revs()`).
2023-04-18 18:32:23 -07:00
tp-woven
831c45539e
Fix small typo
2023-04-18 18:03:05 +09:00
Martin von Zweigbergk
e65b8c3cad
docs: add a glossary
...
The need for a glossary came up on Discord today.
This needs some more work, but I think this is a good start. I'm still
happy to update it if anyone has suggestions, of course. I haven't
started sprinkling pointers to the glossary from other places, so
users will only discover it by browsing the `docs/` directory.
2023-04-17 16:48:23 -07:00
Aaron Bull Schaefer
6c627fb30d
cli: default to log when no subcommand is provided
...
This is a convenience optimization to improve the default user
experience, since `jj log` is a frequently run command. Accessing the
help information explicitly still follows normal CLI conventions, and
instructions are displayed appropriately if the user happens to make a
mistake. Discoverability should not be adversely harmed.
Note that this behavior mirrors what Sapling does [2], where `sl` will
display the smartlog by default.
[1] https://github.com/clap-rs/clap/issues/975
[2] https://sapling-scm.com/docs/overview/smartlog
2023-04-17 16:30:42 -07:00
Martin von Zweigbergk
e056474fe8
tests: fix a typo
2023-04-17 16:14:14 -07:00
dependabot[bot]
c7b66606a1
cargo: bump git2 from 0.17.0 to 0.17.1
...
Bumps [git2](https://github.com/rust-lang/git2-rs ) from 0.17.0 to 0.17.1.
- [Release notes](https://github.com/rust-lang/git2-rs/releases )
- [Changelog](https://github.com/rust-lang/git2-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/git2-rs/compare/git2-curl-0.17.0...0.17.1 )
---
updated-dependencies:
- dependency-name: git2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-04-17 09:19:58 -07:00
Ilya Grigoriev
e448198530
contributing.md: docs on working with protos
2023-04-16 22:04:27 -07:00
Ilya Grigoriev
7d9faef95f
contributing.md: Fix up the MSRV, explain it a bit more
2023-04-16 22:04:27 -07:00
Ilya Grigoriev
c298339f98
proto_op_store: Add two minor comments
2023-04-16 22:04:27 -07:00
dependabot[bot]
cf402af9c1
cargo: bump prost-build from 0.11.8 to 0.11.9
...
Bumps [prost-build](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-build
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-04-14 16:11:09 +00:00
Yuya Nishihara
6a55ae6fea
settings: add helper to turn ConfigError::NotFound into Option
...
Now we have 4 callers, I concluded this is common enough to add an
extension method. Still I think it's preferred to define config items in
src/config/*.toml if possible. It will catch typo of config keys.
2023-04-14 20:30:42 +09:00
Anton Bulakh
791b821115
cmd: when a single remote is defined, default to it for git fetch/push
...
A simple quick implementation of what I've suggested on discord
2023-04-14 08:20:30 +03:00
Martin von Zweigbergk
df7079033e
docs: mention Sapling as a similar tool
2023-04-13 10:10:14 -07:00
dependabot[bot]
0fc2651935
github: bump github/codeql-action from 2.2.11 to 2.2.12
...
Bumps [github/codeql-action](https://github.com/github/codeql-action ) from 2.2.11 to 2.2.12.
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](d186a2a36c...7df0ce3489
)
---
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-13 09:51:14 -07:00
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