Waleed Khan
54dba51a08
docs: warn about missing docs for jj-lib
crate
2023-07-10 18:28:59 +03:00
Waleed Khan
24c7b59a80
docs: add docstring for jj-lib
crate
2023-07-10 18:28:59 +03:00
Waleed Khan
80b86e653d
docs: add missing copyright header
2023-07-10 18:28:59 +03:00
Austin Seipp
f1e09e3f3f
chore(github): reduce compile time in build, nix, and release workflows
...
Summary: When building in CI, we just build everything from scratch in the `dev`
profile, so just turn off debuginfo and incremental compilation data. These
aren't reused, but more importantly take up more space and CPU time to generate;
that's more expensive on slower machines and when using The Cloud(TM) to build.
Together, these take a fresh build (`rm -rf target/` ahead of time) from about
40s to 30s on my machine.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
Change-Id: Id6e706634dbaf88f6ccd7f457409ad7c
2023-07-10 06:18:38 -05:00
Ilya Grigoriev
d81c599153
clippy: fix nightly clippy warnings *except* for needless_raw_string_hashes
...
This is (almost) a result of running
cargo +nightly clippy --workspace --all-targets --fix \
-- -A 'clippy::needless_raw_string_hashes'
with yesterday's nightly clippy.
https://github.com/mitsuhiko/insta/issues/389 causes numerous additional
`needless_raw_string_hashes` warnings, but it will hopefully be fixed soon.
For now, I recommend appending the second line to your invocations.
2023-07-09 22:28:22 -07:00
Yuya Nishihara
9aa308fb4a
revset: include pseudo @git remote in suggestion
...
Since collect_branch_symbols() doesn't have to be fast, I made it simply
build a new branches map.
2023-07-10 06:17:44 +09:00
Yuya Nishihara
528f6e23c1
refs: simplify inner loop of find_pair_to_remove() too
2023-07-10 06:14:47 +09:00
Yuya Nishihara
fe3be99f0d
refs: directly assign ancestor (index, id) pair in find_pair_to_remove()
2023-07-10 06:14:47 +09:00
Yuya Nishihara
9140e5b686
conflicts: relax from_legacy_form() to accept any iterable
...
This will help to rewrite refs::merge_ref_targets() to leverage Conflict
type. I'm not pretty sure if we'll want to do that, but this change seems
also good for the existing code.
2023-07-10 06:14:47 +09:00
Yuya Nishihara
afb1e1693e
conflicts: simplify inner loop of simplify() a bit
2023-07-10 06:14:47 +09:00
Martin von Zweigbergk
aac5b7aa25
cargo: rename crates from jujutsu
/jujutsu-lib
to jj-cli
/jj-lib
...
Almost everyone calls the project "jj", and there seeems to be
consensus that we should rename the crates. I originally wanted the
crates to be called `jj` and `jj-lib`, but `jj` was already
taken. `jj-cli` is probably at least as good for it anyway.
Once we've published a 0.8.0 under the new names, we'll release 0.7.1
versions under the old names with pointers to the new crates names.
2023-07-09 06:40:43 +02:00
Yuya Nishihara
3e294ca2d6
revset: do not suggest deleted local branches, suggest @remote branches
...
It seemed too verbose to always include @remote branches, so synced remotes
are omitted by default. If the given symbol contained '@', all remote symbols
are populated so that the distance of remote fragment is taken into account.
2023-07-09 10:42:14 +09:00
Yuya Nishihara
4a5060a618
revset: don't resolve deleted branch symbol to empty set
...
A deleted branch disappears immediately if there's no remote counterpart,
so I don't think a local name should be resolvable like zombie.
2023-07-09 10:42:14 +09:00
Yuya Nishihara
5c1352d31c
revset: add tests for branch symbol resolution
...
I'm going to fix resolution of remote-only branches. This also includes some
typo tests because I need to fix suggestion as well.
2023-07-09 10:42:14 +09:00
Yuya Nishihara
d58702cd63
templater: include pseudo @git targets in branches keyword
...
#1666
2023-07-09 10:39:43 +09:00
Yuya Nishihara
2c3dd99f17
templater: cache reverse index of ref names
...
I'm going to add @git remote support to the branches keyword, and I feel
it would be too dumb to build a unified branches map per template evaluation.
Indexes are cached globally and shared by Rc. We could build a cache local
to keyword, but that means 'if(branches, branches)' would have to build two
separate indexes. I don't think such template expression is uncommon.
2023-07-09 10:39:43 +09:00
Yuya Nishihara
2606a1073d
git: extract helper that merges pseudo @git targets in branches map
2023-07-09 10:39:43 +09:00
Yuya Nishihara
895ebef55c
git: refactor git_ref_filter construction in fetch()
...
branch_name_filter() can be dynamically dispatched, but I think branching
by Some(regex)|None is simpler here.
2023-07-09 10:08:46 +09:00
Yuya Nishihara
a934547720
git: consistently ignore unrelated refs on fetch()
...
Since "jj git fetch --branch '*'" doesn't import unrelated remote and local
refs, "jj git fetch" shouldn't do either.
2023-07-09 10:08:46 +09:00
Yuya Nishihara
564506a7c7
tests: fix test_fetch_prune_deleted_ref() to set up refs on remote
...
This is broken since aa78f97d55
"git: refactor tests by extracting some
common setup."
2023-07-09 10:08:46 +09:00
Yuya Nishihara
a21397bfff
git: move remove/rename remote logic to library
...
These functions are somewhat similar to git::import/export_refs() in that
git_refs and branches are manipulated.
2023-07-09 10:08:07 +09:00
Yuya Nishihara
f3d6616057
view: add default formatting to RefName, use it to print unexported branches
2023-07-09 00:51:15 +09:00
Waleed Khan
f15c1d3c53
docs(fsmonitor): add filesystem monitor/Watchman documentation
2023-07-08 18:48:14 +03:00
Waleed Khan
cf1e1ddc2e
feat(fsmonitor): add watchman debug commands
2023-07-08 18:48:14 +03:00
Waleed Khan
9bb8e4fe2a
feat(fsmonitor): add .watchmanconfig
to repo
...
This identifies the directory as Watchman-enabled. Additional config settings can go in this file. The contents of this file are based on fb8ed41881/.watchmanconfig
.
2023-07-08 18:48:14 +03:00
Waleed Khan
ef83f2beeb
feat(fsmonitor): Watchman filesystem monitor implementation
2023-07-08 18:48:14 +03:00
Waleed Khan
d8705644b5
refactor(repo_path): accept AsRef<Path>
in RepoPath::parse_fs_path
...
Used in later commit.
2023-07-08 18:48:14 +03:00
Waleed Khan
de9cbace22
refactor(working_copy): create WorkItem struct
2023-07-08 18:48:14 +03:00
Waleed Khan
092dce0625
refactor(working_copy): create SnapshotOptions
struct
...
Required in a later commit.
2023-07-08 18:48:14 +03:00
Yuya Nishihara
85d87e2658
cli: warn if loosely selected push targets include conflicted branches
2023-07-08 10:23:21 +09:00
Yuya Nishihara
a3d080580e
cli: on git push, do not ignore conflicting branch at @
...
If @ is pointed by any branch, we shouldn't fall back to @-.
2023-07-08 10:23:21 +09:00
Yuya Nishihara
908520dcf5
cli: flatten nested loop that intersects branch targets and commit ids
2023-07-08 10:23:21 +09:00
Yuya Nishihara
78e8790e10
cli: inline branch_updates_for_push()
...
There are only two callers, and one of them knows that the branch exists.
2023-07-08 10:23:21 +09:00
Yuya Nishihara
d564c94548
cli: extract helper that maps BranchPushAction to BranchPushUpdate
...
We could add .as_update() -> Option<BranchPushUpdate>, but we'll probably
want to map a conflict message to warning.
2023-07-08 10:23:21 +09:00
Yuya Nishihara
7af45819b9
cli: split "git push --all"/"--deleted" handling
...
It's easier to follow than dispatching inside loop, and the match arms will
be deduplicated later.
2023-07-08 10:23:21 +09:00
Yuya Nishihara
16bf861e3b
tests: add "git push" tests involving conflicting branches
2023-07-08 10:23:21 +09:00
dependabot[bot]
22a84c8e97
cargo: bump the cargo-dependencies group with 2 updates
...
Bumps the cargo-dependencies group with 2 updates: [serde](https://github.com/serde-rs/serde ) and [thiserror](https://github.com/dtolnay/thiserror ).
Updates `serde` from 1.0.166 to 1.0.167
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.166...v1.0.167 )
Updates `thiserror` from 1.0.41 to 1.0.43
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.41...1.0.43 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-dependencies
- dependency-name: thiserror
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-07-07 17:52:36 +02:00
Martin von Zweigbergk
e28ce91d41
dependabot: also group cargo updates
...
It looks like I accidentally applied the grouping only to GitHub
actions updates.
2023-07-07 17:36:45 +02:00
Yuya Nishihara
43aca696c8
templater: inline RefTarget::has_add()
...
Since RefTarget::adds() now returns a slice, we don't need has_add() to bypass
temporary allocation of Vec<CommitId>.
2023-07-08 00:06:07 +09:00
Martin von Zweigbergk
eebc2ef5a1
commit_templater: avoid looking up tree only to get its id
2023-07-07 16:43:34 +02:00
Martin von Zweigbergk
7bcb01ae5e
conflicts: move repeated definition of c()
in tests to module level
...
Also remove an obsolete "Irreducible" in a comment.
2023-07-07 16:42:07 +02:00
Martin von Zweigbergk
2bc58ebacf
tree: avoid "file" in name of variables that can be non-files
2023-07-07 05:15:39 +02:00
Martin von Zweigbergk
76b1d53b1d
tree: avoid redoing a RepoPath::join()
...
I also renamed the variable from `file` to `path` to clarify.
2023-07-07 05:15:39 +02:00
Martin von Zweigbergk
7e48033a65
tree: remove dir
argument from TreeDiffIterator::new()
...
The argument is always the root directory.
2023-07-07 05:15:39 +02:00
Martin von Zweigbergk
1d8e9ec215
tree: inline two trivial functions
2023-07-07 05:15:39 +02:00
Martin von Zweigbergk
5da131f937
tree: add a Diff::from_options()
constructor
...
I'm not sure `Diff` is worth keeping, but as long as we have, it seems
that it should have this constructor.
2023-07-06 15:19:58 +02:00
Martin von Zweigbergk
b738f884c4
tree: drop Diff::as_options()
, use Diff::into_options()
instead
...
We don't have any current callers that only have a reference to a
`Diff`, so we don't need `.as_options()`.
2023-07-06 15:19:58 +02:00
Martin von Zweigbergk
8af22eb83c
working_copy: remove matching that's always against _
2023-07-06 14:24:38 +02:00
Yuya Nishihara
868188c84e
repo: handle empty .jj repo gracefully, include file path in error message
2023-07-06 20:48:46 +09:00
Yuya Nishihara
9560ca94c5
local_backend: remove global error conversion impls for BackendError
...
We don't care much about error handling in the local backend, but these
conversion impls are globally available and can be misused.
2023-07-06 20:48:46 +09:00