Yuya Nishihara
cfae28575b
revset: add explicit RevsetExpression::All variant
...
This isn't strictly necessary, but is useful while getting rid of
redundant 'all() &' expression.
2022-10-27 21:33:35 +09:00
Yuya Nishihara
4337a997cf
revset: unify FilterRevset variants at RevsetExpression level
...
This helps to match '(filter, _) | (_, filter)' to rewrite the expression
tree. Only one predicate is allowed for now, but I think it can be extended
to internalize 'f(c) & g(c)' as '(g*f)(c)' to eliminate redundant lookup
of commit object.
2022-10-27 21:33:35 +09:00
Yuya Nishihara
030e0069f6
revset: reorder match arms in evaluate_expression() to group filter stuff
2022-10-27 21:33:35 +09:00
dependabot[bot]
9548b6ad49
github: bump github/codeql-action from 2.1.28 to 2.1.29
...
Bumps [github/codeql-action](https://github.com/github/codeql-action ) from 2.1.28 to 2.1.29.
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](cc7986c02b...ec3cf9c605
)
---
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>
2022-10-26 20:44:10 -07:00
Benjamin Saunders
78f2de20f0
cli: erase progress feedback on completion
2022-10-24 12:52:41 -07:00
Benjamin Saunders
e773709e31
cli: draw bar in progress report
2022-10-24 12:52:41 -07:00
Benjamin Saunders
3dd2cbf799
cli: limit progress report update rate
2022-10-24 12:52:41 -07:00
Benjamin Saunders
f11b3d2476
cli: factor progress reporting out into its own module
2022-10-24 12:52:41 -07:00
Benjamin Saunders
9381765739
cli: fix cursor flicker during progress reports
2022-10-24 12:52:41 -07:00
dependabot[bot]
27937e6787
github: bump actions/upload-artifact from 3.1.0 to 3.1.1
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 3.1.0 to 3.1.1.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](3cea537223...83fd05a356
)
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-24 10:55:50 -07:00
Martin von Zweigbergk
c1a008a0fe
readme: avoid using "I" since we're now several people contributing
2022-10-24 10:52:38 -07:00
Martin von Zweigbergk
06b99b2a92
readme: PR workflows no longer require many manual steps
...
Our readme says that pull request require too many manual steps. I
think that refers to the manual abandoning of merged commits that was
necessary before 57ba9a940976; I think the workflow works reasonably
well these days. So let's avoid scaring away potential new users by
mentioning that old problem.
2022-10-24 10:52:38 -07:00
dependabot[bot]
f1f38b2a01
cargo: bump serde from 1.0.146 to 1.0.147
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.146 to 1.0.147.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.146...v1.0.147 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-24 10:51:00 -07:00
dependabot[bot]
6a906da780
cargo: bump textwrap from 0.15.1 to 0.16.0
...
Bumps [textwrap](https://github.com/mgeisler/textwrap ) from 0.15.1 to 0.16.0.
- [Release notes](https://github.com/mgeisler/textwrap/releases )
- [Changelog](https://github.com/mgeisler/textwrap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/mgeisler/textwrap/compare/0.15.1...0.16.0 )
---
updated-dependencies:
- dependency-name: textwrap
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-24 10:35:10 -07:00
Benjamin Saunders
c03c746f8d
cli: report fetch progress continuously
2022-10-23 12:13:25 -07:00
Martin von Zweigbergk
b2e309c9e4
tests: stop libgit2 from reading configs in lib tests too
...
I had `init.defaultBranch = main` in my global config (just being
rolled out internally at Google, it seems), which made
`test_import_refs_reimport_head_removed()` and
`test_fetch_initial_commit()` fail. This fixes it.
2022-10-23 11:08:22 -07:00
Martin von Zweigbergk
efce1e54e6
tests: extract setup of libgit2 config to lib crate
...
We have some problems with non-hermetic tests in the lib crate, so
we'll want to reuse the setup code there.
2022-10-23 11:08:22 -07:00
Martin von Zweigbergk
c366795d80
tests: remove obsolete workaround for WorkingCopy
reading from $HOME
...
Since d56ae79d3f
, `WorkingCopy` no longer reads `.gitignores`
directly from `$HOME/.gitignore`, so we don't need the workaround to
prevent it in the tests.
2022-10-23 11:08:22 -07:00
Yuya Nishihara
cb2fcde560
revset: implement file(pattern[, candidates]) predicate
...
The name "file()" is just copied from hg. I'm not sure if it's good in
jj's context, but I couldn't find a better name.
2022-10-24 01:48:00 +09:00
Yuya Nishihara
d5cf2582dc
revset: instantiate Workspace in tests where workspace_id is needed
...
This makes resolve_commit_ids_in_workspace() reusable for file() revset
tests.
2022-10-24 01:48:00 +09:00
Yuya Nishihara
5c52b4e819
revset: introduce wrapper struct to pass around workspace information
...
More workspace-derived parameters will be added, and I don't think wrapping
with Option for each makes sense because all parameters should be available
if workspace exists.
2022-10-24 01:48:00 +09:00
Yuya Nishihara
efb8c5e58a
revset: make filter_by_diff() accept either borrowed or owned matcher
...
So filter_by_diff() can also be used to evaluate file() revset.
I've never seen Borrow<T> for this sort of abstraction, but it seems a valid
use case of Borrow<T>.
https://stackoverflow.com/a/69318514
https://github.com/rust-lang/rust/blob/1.64.0/compiler/rustc_mir_dataflow/src/framework/cursor.rs#L45
2022-10-24 01:48:00 +09:00
Yuya Nishihara
0e1f098376
cli: add WorkspaceCommandHelper::evaluate_revset(expr)
...
I'll add more workspace-derived parameters to RevsetExpression::evaluate().
2022-10-24 01:48:00 +09:00
Yuya Nishihara
977cfd3d4a
repo_path: make FsPathParseError displayable by itself
...
So it can be easily embedded in other error types such as RevsetError.
2022-10-24 01:48:00 +09:00
Yuya Nishihara
b885dc75f6
cli: inline repo_paths_from_values()
...
Unlike matcher_from_values(), this function is trivial and isn't widely
used. Let's simply do .map() and .collect().
TODO comment is relocated to matcher_from_values(). I think glob and
fileset-like stuff will be added to the matcher parser, not to the
'Path -> RepoPath' function. And it's probably implemented in lib crate.
2022-10-22 12:40:43 +09:00
Yuya Nishihara
50f327768c
cli: move repo_paths|matcher_from_values() to WorkspaceCommandHelper
...
args.remove resolution in cmd_sparse() is reordered to accommodate with
borrow checker.
2022-10-22 12:40:43 +09:00
Yuya Nishihara
d635d02f06
cli: add WorkspaceCommandHelper::parse_file_path() for convenience
...
WorkspaceCommandHelper knows the context where user file pattern should
be resolved.
2022-10-22 12:40:43 +09:00
Yuya Nishihara
71ef8e74aa
cli: remove now unused Ui::with_cwd()
2022-10-22 12:40:43 +09:00
Yuya Nishihara
3fe6da1b51
repo_path: migrate parse_file_path() from ui
...
It seems a bit invasive that RepoPath constructor processes an environment
like cwd, but we need an unmodified input string to build a readable error.
The error could be rewrapped at cli boundary, but I don't think it would
worth inserting indirection just for that.
I made s/file_path/fs_path/ change because there's already to_fs_path()
function, and "file path" in RepoPath context may be ambiguous.
2022-10-22 12:40:43 +09:00
Yuya Nishihara
689332aedd
file_util: move path handling functions from ui module
...
We'll need this kind of functions in the library crate to parse user file
patterns.
2022-10-22 12:40:43 +09:00
Martin von Zweigbergk
756c4fedb6
docs: fix typo in Git config core.excludesFile
2022-10-21 19:04:30 -07:00
dependabot[bot]
f00560ef82
cargo: bump serde from 1.0.145 to 1.0.146
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.145 to 1.0.146.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.145...v1.0.146 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-21 10:52:36 -07:00
dependabot[bot]
ed2d3b1f68
cargo: bump assert_cmd from 2.0.4 to 2.0.5
...
Bumps [assert_cmd](https://github.com/assert-rs/assert_cmd ) from 2.0.4 to 2.0.5.
- [Release notes](https://github.com/assert-rs/assert_cmd/releases )
- [Changelog](https://github.com/assert-rs/assert_cmd/blob/master/CHANGELOG.md )
- [Commits](https://github.com/assert-rs/assert_cmd/compare/v2.0.4...v2.0.5 )
---
updated-dependencies:
- dependency-name: assert_cmd
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-21 10:52:18 -07:00
dependabot[bot]
30fce294de
cargo: bump clap from 4.0.17 to 4.0.18
...
Bumps [clap](https://github.com/clap-rs/clap ) from 4.0.17 to 4.0.18.
- [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.0.17...v4.0.18 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-21 10:51:49 -07:00
Benjamin Saunders
037eaaf36c
repo: forbid checking out the root commit
...
Prevents `jj edit root` from succeeding, which would otherwise place
the repo in a state where every operation panics.
2022-10-21 10:10:07 -07:00
Martin von Zweigbergk
986fced69e
demos: replace asciinema by screenshots
...
The demos don't need to be animated - the user wouldn't miss anything
if they skipped to the end. So let's just show the full output so the
user can read through it at their own pace. We could use plain text,
but I think the colors are helpful, so I went with screenshots.
Closes #166 .
2022-10-21 06:04:31 -07:00
Benjamin Saunders
305cb3a7ee
cli: search @- for branches to push when @ has none
2022-10-20 22:18:48 -07:00
Benjamin Saunders
b009019d8d
cli: add git remote rename subcommand
2022-10-20 11:04:16 -07:00
Yuya Nishihara
bbdcd6faaf
cli: apply path normalization to absolute input path, not to relative path
...
This patch addresses TODOs described in parse_file_path_wc_in_cwd() test.
Since the input string is considered a filesystem path, I think it makes
sense to normalize the cwd + input path first.
These utility functions will probably be moved to lib to implement file()
revset resolution.
2022-10-21 01:56:23 +09:00
Yuya Nishihara
58977f8cbf
cli: simplify relative_path() by leveraging ancestors() iterator
...
Just code cleanup. There should be no behavior change.
2022-10-21 01:56:23 +09:00
dependabot[bot]
f3a9b06cc8
cargo: bump serde_json from 1.0.86 to 1.0.87
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.86 to 1.0.87.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.86...v1.0.87 )
---
updated-dependencies:
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-20 09:35:30 -07:00
Yuya Nishihara
87bcdd4e51
cli: remove redundant maybe_tty flag
...
It should be valid to test isatty(stdout) even if the output stream is paged.
2022-10-20 10:31:04 +09:00
Yuya Nishihara
0633856ab2
cli: remove 'dyn Write' support from Ui, use terminal output
...
Let the test harness suppress uninteresting output. Anyway, these tests
would print nothing.
I think Ui::with_cwd() can also be removed after refactoring file path
handling.
2022-10-20 10:31:04 +09:00
dependabot[bot]
05d19451cc
cargo: bump clap_complete from 4.0.2 to 4.0.3
...
Bumps [clap_complete](https://github.com/clap-rs/clap ) from 4.0.2 to 4.0.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/clap_complete-v4.0.2...clap_complete-v4.0.3 )
---
updated-dependencies:
- dependency-name: clap_complete
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-19 16:27:58 -07:00
dependabot[bot]
2e0fa3a4c9
cargo: bump clap_mangen from 0.2.2 to 0.2.3
...
Bumps [clap_mangen](https://github.com/clap-rs/clap ) from 0.2.2 to 0.2.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/clap_mangen-v0.2.2...clap_mangen-v0.2.3 )
---
updated-dependencies:
- dependency-name: clap_mangen
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-19 16:11:11 -07:00
dependabot[bot]
dc2237b592
github: bump ossf/scorecard-action from 2.0.4 to 2.0.6
...
Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action ) from 2.0.4 to 2.0.6.
- [Release notes](https://github.com/ossf/scorecard-action/releases )
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md )
- [Commits](e363bfca00...99c53751e0
)
---
updated-dependencies:
- dependency-name: ossf/scorecard-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-19 16:09:53 -07:00
Benjamin Saunders
646fc338ab
Include @ in the default revset
...
Yields a less confusing behavior of `jj log` after pushing a commit.
2022-10-19 13:30:16 -07:00
Benjamin Saunders
d188240939
Less opinionated DynWriteLock
...
Allows easier reuse by future variants of UiOutputPair.
2022-10-18 22:26:13 -07:00
Benjamin Saunders
c046e1c845
Remove superfluous lifetime from Ui
2022-10-19 13:39:46 +09:00
Benjamin Saunders
0a3502453d
Simplify UI test stdio
2022-10-19 13:39:46 +09:00