dependabot[bot]
989fcb6276
cargo: bump thiserror from 1.0.32 to 1.0.33
...
Bumps [thiserror](https://github.com/dtolnay/thiserror ) from 1.0.32 to 1.0.33.
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.32...1.0.33 )
---
updated-dependencies:
- dependency-name: thiserror
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-01 10:50:30 -07:00
Martin von Zweigbergk
0d1bf7cb3b
cli: disable open commits by default
2022-08-26 23:34:52 -07:00
dependabot[bot]
f8fd713bb8
cargo: bump serde_json from 1.0.83 to 1.0.85
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.83 to 1.0.85.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.83...v1.0.85 )
---
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-08-22 23:01:24 -07:00
Augie Fackler
298a972d4a
chrono: update to latest version and disable oldtime
feature
...
`oldtime` brings in an old version of the `time` crate, which we
don't need and has some issues reported in RustSec.
2022-08-22 22:33:37 -04:00
dependabot[bot]
27c2a55091
cargo: bump insta from 1.18.2 to 1.19.0
...
Bumps [insta](https://github.com/mitsuhiko/insta ) from 1.18.2 to 1.19.0.
- [Release notes](https://github.com/mitsuhiko/insta/releases )
- [Changelog](https://github.com/mitsuhiko/insta/blob/master/CHANGELOG.md )
- [Commits](https://github.com/mitsuhiko/insta/compare/1.18.2...1.19.0 )
---
updated-dependencies:
- dependency-name: insta
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-08-22 16:26:20 -07:00
Yuya Nishihara
51520bc87b
working_copy: don't follow symlinks while creating parent directories
...
Otherwise a file could be created out of the working copy directory.
This only works for untracked symlinks and sequentially "added" symlinks
and files. For "removed" and "modified" entries, the parent directories are
considered valid and fs::remove_file() will be called. This also doesn't
prevent race conditions caused by concurrent checkouts.
New create_parent_dirs() would be slightly slower than the original because
it traverses directories from the root whereas fs::create_dir_all() does that
from the leaf and exits when reached to a directory.
2022-08-17 13:22:51 +09:00
Yuya Nishihara
fbcec1fd2c
tests: don't leave /tmp/file, use tempfile::TempDir for cleanup
2022-08-17 12:15:04 +09:00
dependabot[bot]
c54c8c0519
cargo: bump insta from 1.18.1 to 1.18.2
...
Bumps [insta](https://github.com/mitsuhiko/insta ) from 1.18.1 to 1.18.2.
- [Release notes](https://github.com/mitsuhiko/insta/releases )
- [Changelog](https://github.com/mitsuhiko/insta/blob/master/CHANGELOG.md )
- [Commits](https://github.com/mitsuhiko/insta/compare/1.18.1...1.18.2 )
---
updated-dependencies:
- dependency-name: insta
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-08-12 10:00:27 -07:00
Martin von Zweigbergk
21f5bf8b15
cleanup: fix some things reported by clippy 1.63
2022-08-12 09:10:32 -07:00
dependabot[bot]
5f0cb71177
cargo: bump insta from 1.18.0 to 1.18.1
...
Bumps [insta](https://github.com/mitsuhiko/insta ) from 1.18.0 to 1.18.1.
- [Release notes](https://github.com/mitsuhiko/insta/releases )
- [Changelog](https://github.com/mitsuhiko/insta/blob/master/CHANGELOG.md )
- [Commits](https://github.com/mitsuhiko/insta/compare/1.18.0...1.18.1 )
---
updated-dependencies:
- dependency-name: insta
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-08-11 06:41:09 -07:00
dependabot[bot]
dca52545f3
cargo: bump pest_derive from 2.1.0 to 2.2.1
...
Bumps [pest_derive](https://github.com/pest-parser/pest ) from 2.1.0 to 2.2.1.
- [Release notes](https://github.com/pest-parser/pest/releases )
- [Commits](https://github.com/pest-parser/pest/compare/v2.1.0...v2.2.1 )
---
updated-dependencies:
- dependency-name: pest_derive
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-08-09 08:51:27 -07:00
dependabot[bot]
db52028510
cargo: bump thiserror from 1.0.31 to 1.0.32
...
Bumps [thiserror](https://github.com/dtolnay/thiserror ) from 1.0.31 to 1.0.32.
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.31...1.0.32 )
---
updated-dependencies:
- dependency-name: thiserror
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-08-08 15:01:06 -07:00
dependabot[bot]
32c570b714
cargo: bump insta from 1.17.0 to 1.18.0
...
Bumps [insta](https://github.com/mitsuhiko/insta ) from 1.17.0 to 1.18.0.
- [Release notes](https://github.com/mitsuhiko/insta/releases )
- [Changelog](https://github.com/mitsuhiko/insta/blob/master/CHANGELOG.md )
- [Commits](https://github.com/mitsuhiko/insta/commits/1.18.0 )
---
updated-dependencies:
- dependency-name: insta
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-08-08 14:22:41 -07:00
dependabot[bot]
5391b8bc28
cargo: bump serde_json from 1.0.82 to 1.0.83
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.82 to 1.0.83.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.82...v1.0.83 )
---
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-08-08 14:21:01 -07:00
dependabot[bot]
e19f2e74c9
cargo: bump config from 0.13.1 to 0.13.2
...
Bumps [config](https://github.com/mehcode/config-rs ) from 0.13.1 to 0.13.2.
- [Release notes](https://github.com/mehcode/config-rs/releases )
- [Changelog](https://github.com/mehcode/config-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/mehcode/config-rs/compare/0.13.1...0.13.2 )
---
updated-dependencies:
- dependency-name: config
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-08-08 14:20:07 -07:00
dependabot[bot]
8cc6e09a28
cargo: bump pest from 2.2.0 to 2.2.1
...
Bumps [pest](https://github.com/pest-parser/pest ) from 2.2.0 to 2.2.1.
- [Release notes](https://github.com/pest-parser/pest/releases )
- [Commits](https://github.com/pest-parser/pest/compare/v2.2.0...v2.2.1 )
---
updated-dependencies:
- dependency-name: pest
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-08-08 14:19:36 -07:00
dependabot[bot]
6ad4014c07
cargo: bump bytes from 1.2.0 to 1.2.1
...
Bumps [bytes](https://github.com/tokio-rs/bytes ) from 1.2.0 to 1.2.1.
- [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/commits )
---
updated-dependencies:
- dependency-name: bytes
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-08-08 14:19:22 -07:00
Yuya Nishihara
cc860f771c
working_copy: do not overwrite ignored file
...
Since the file should have been removed on Diff::Modified case, we can always
expect that write_file/conflict() creates new file.
2022-08-07 15:06:30 +02:00
Yuya Nishihara
b149cb07cc
working_copy: make set_sparse_patterns() ignore existing working copy files
...
This doesn't work yet since write_file() overwrites the existing file, which
will be fixed by the next patch.
I've added a callback parameter to update() just because that's the easiest
option. If we want to report the number of the conflicting files (through
CheckoutStats), the callback interface wouldn't work nicely and the error
handling would have to be moved to the update() body. If we want to make
both check_out() and set_sparse_patterns() ignore EEXIST error, we can
eliminate the calback parameter at all.
2022-08-07 15:06:30 +02:00
Yuya Nishihara
f1df8215a2
working_copy: extract inner action of update() loop as closure
...
It serves as a try_block where I'm going to add EEXIST handling.
2022-08-07 15:06:30 +02:00
Yuya Nishihara
0ac8d370df
tests: leverage fs::read() in test_gitignores_checkout_overwrites_ignored()
2022-08-07 15:06:30 +02:00
dependabot[bot]
e7fd575ee8
cargo: bump git2 from 0.14.4 to 0.15.0
...
Bumps [git2](https://github.com/rust-lang/git2-rs ) from 0.14.4 to 0.15.0.
- [Release notes](https://github.com/rust-lang/git2-rs/releases )
- [Commits](https://github.com/rust-lang/git2-rs/compare/0.14.4...git2-curl-0.15.0 )
---
updated-dependencies:
- dependency-name: git2
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-07-29 21:09:25 +02:00
dependabot[bot]
19c01d9877
cargo: bump pest from 2.1.3 to 2.2.0
...
Bumps [pest](https://github.com/pest-parser/pest ) from 2.1.3 to 2.2.0.
- [Release notes](https://github.com/pest-parser/pest/releases )
- [Commits](https://github.com/pest-parser/pest/commits/v2.2.0 )
---
updated-dependencies:
- dependency-name: pest
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-07-29 21:08:55 +02:00
dependabot[bot]
e857152fa0
cargo: bump insta from 1.16.0 to 1.17.0
...
Bumps [insta](https://github.com/mitsuhiko/insta ) from 1.16.0 to 1.17.0.
- [Release notes](https://github.com/mitsuhiko/insta/releases )
- [Changelog](https://github.com/mitsuhiko/insta/blob/master/CHANGELOG.md )
- [Commits](https://github.com/mitsuhiko/insta/commits )
---
updated-dependencies:
- dependency-name: insta
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-07-29 14:35:12 +02:00
dependabot[bot]
db971fa29f
cargo: bump test-case from 2.1.0 to 2.2.1
...
Bumps [test-case](https://github.com/frondeus/test-case ) from 2.1.0 to 2.2.1.
- [Release notes](https://github.com/frondeus/test-case/releases )
- [Changelog](https://github.com/frondeus/test-case/blob/master/CHANGELOG.md )
- [Commits](https://github.com/frondeus/test-case/compare/v2.1.0...v2.2.1 )
---
updated-dependencies:
- dependency-name: test-case
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-07-24 10:52:00 +02:00
dependabot[bot]
202f9038c7
cargo: bump insta from 1.15.0 to 1.16.0
...
Bumps [insta](https://github.com/mitsuhiko/insta ) from 1.15.0 to 1.16.0.
- [Release notes](https://github.com/mitsuhiko/insta/releases )
- [Changelog](https://github.com/mitsuhiko/insta/blob/master/CHANGELOG.md )
- [Commits](https://github.com/mitsuhiko/insta/compare/1.15.0...1.16.0 )
---
updated-dependencies:
- dependency-name: insta
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-07-24 10:51:38 +02:00
Martin von Zweigbergk
cb8f7b8184
store: inline Store::load()
into caller
...
I think it makes sense for `RepoLoader` to know what kind of backend
to create. Then we can have some way of extending it for other backend
types.
2022-07-21 17:04:18 +02:00
Martin von Zweigbergk
25b922cd0b
store: reduce duplication in Workspace
and Repo
init code
...
There is a bit of duplicated across the three functions for creating a
`Workspace` and `Repo`. This patch reduces that duplication by passing
in a closure.
In addition to reducing duplication, this is a step towards making it
easier to add new backends.
2022-07-21 17:04:18 +02:00
dependabot[bot]
bf8a8caf01
cargo: bump bytes from 1.1.0 to 1.2.0
...
Bumps [bytes](https://github.com/tokio-rs/bytes ) from 1.1.0 to 1.2.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.1.0...v1.2.0 )
---
updated-dependencies:
- dependency-name: bytes
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-07-21 07:11:35 +02:00
Martin von Zweigbergk
36c6236f62
workspace: remove upgrade code for workspace without .jj/repo
2022-07-14 10:58:11 -07:00
Martin von Zweigbergk
b84be06c08
conflicts: minimize diffs in materialized conflicts
...
One advantage of our conflict marker style (compared to the usual
3-way markers) is that they provide the user with the diff between the
base and one side so the user doesn't have to do that in their head
(which is how I use 3-way markers anyway). However, since we currently
always use the "first" side for the diff, that diff can be larger than
if we had picked the other side, which makes the marker style worse
than the usual 3-way markers. This has bothered me many times and it's
about time we fix it.
2022-07-12 07:46:45 -07:00
Martin von Zweigbergk
fc578a2dd7
conflicts: use insta
in conflict tests
2022-07-12 07:46:45 -07:00
Martin von Zweigbergk
97cecb245d
cleanup: remove workaround for fixed split_inclusive()
bug
...
The fix for rustlang/rust#89716 was released in 1.59.0, which is our
MSRV.
2022-07-10 11:09:01 -07:00
dependabot[bot]
40afd98720
cargo: bump regex from 1.5.6 to 1.6.0
...
Bumps [regex](https://github.com/rust-lang/regex ) from 1.5.6 to 1.6.0.
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/1.5.6...1.6.0 )
---
updated-dependencies:
- dependency-name: regex
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-07-06 08:47:33 -07:00
Martin von Zweigbergk
3a351bee7d
cli: don't keep Repo references from before transaction start
...
We had a recent bug where we used a repo reference from before we
started a transaction and modified the repo. While it's often safe and
correct to use such references, it isn't always. This patch removes
all such cases. I think it generally makes the code clearer, and
better prepared for #50 , if we ever get around to that. I found these
by temporarily making `WorkspaceCommandHelper::start_transaction()`
take a mutable reference.
2022-07-06 07:21:57 -07:00
Martin von Zweigbergk
1b5cd140d5
CommitBuilder: remove unneeded store
arguments
...
The `CommitBuilder::store` field is used only in
`CommitBuilder::write_to_repo()`, but we can easily get access to the
`Store` from the `repo` argument there, so let's remove the field.
2022-07-06 07:21:57 -07:00
Martin von Zweigbergk
3aaeca9e1c
tests: add test for successful push
...
I think I had not added tests for successful push before because I
thought there was some issue with testing it with libgit2. There *is*
an issue, which is that libgit2 requires the remote to be bare when
it's on local disk, but we can very easily make the git repo bare in
this test.
I also updated the error handling in the `git` module to not let
follow-on errors hide the real error and to not fail if two branches
moved to the same commit.
2022-07-04 22:50:40 -07:00
Martin von Zweigbergk
418ab22be0
cli: add config for using only new UX for open commits
...
By adding `ui.open-commits=false` in your config, you can now make `jj
checkout` always create a new working-copy commit on top of the
specified commit. If the config is set, open commits will also appear
in the same color as closed commits in `jj log` etc. This will let
some of us experiment with the new UX before we decide if it's a good
idea or not. I left `jj close` in place because it's useful for
setting a description and creating a new commit in one step.
I didn't mention the new config in the release notes because I hope we
can reach a decision and remove the config before the next release.
2022-07-01 08:58:08 +08:00
Martin von Zweigbergk
42b2937d5e
cli: add jj edit
for editing a commit in the wokring copy
2022-07-01 08:58:08 +08:00
Martin von Zweigbergk
6952b4f91e
rewrite: create new checkout on top iff commit abandoned
...
When rebasing commits after rewrites, we also update all workspaces'
checkouts. If the new commit is closed, we create a new commit on
top. Since we're hoping to remove the open/closed concept, we need a
new condition. I considered creating a new commit on top if the change
ID was different from before the rewrite. However, that would make at
least `jj split` more complicated because it makes the first commit
keep the change ID but it wants the second commit to be checked
out. This patch instead creates the new commit on top only when the
original commit was abandoned.
2022-07-01 08:58:08 +08:00
Martin von Zweigbergk
b0912b3199
repo: add a function for getting workspaces by checkout
2022-07-01 08:58:08 +08:00
Martin von Zweigbergk
0e812220af
rewrite: always use MutableRepo::edit()
when updating checkouts
...
I think it's conceptually simpler to create a new commit and set that
commit to be the checkout in each workspace than to check out the
commit in one workspace and edit in the others.
2022-07-01 08:58:08 +08:00
Martin von Zweigbergk
bd1a8bd930
repo: split out an edit()
function from MutableRepo::check_out()
2022-07-01 08:58:08 +08:00
Martin von Zweigbergk
9a3c6928cc
repo: extract a function for abandoning previous checkout
...
This is a little refactoring to prepare for removing the `open` flag
off of commits.
2022-07-01 08:58:08 +08:00
Martin von Zweigbergk
8667e374b8
rewrite: pass a single new commit into update_checkouts()
...
`DescendantRebaser::update_checkouts()` only cares about the first
element in `new_commit_ids`, so let's just pass in a single commit ID
instead.
2022-07-01 08:58:08 +08:00
dependabot[bot]
73729e4517
cargo: bump serde_json from 1.0.81 to 1.0.82
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.81 to 1.0.82.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.81...v1.0.82 )
---
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-07-01 02:19:56 +08:00
Martin von Zweigbergk
0fe203ce8f
cleanup: fix an unused import on Windows
...
`OperationId` is only used in `test_snapshot_special_file()`, which
doesn't run (or even build) on Windows.
2022-06-29 07:21:24 +08:00
Martin von Zweigbergk
2c21ed40d8
working_copy: don't crash if file becomes directory while snapshotting
...
If a file gets replaced by a directory right after list files in a
directory but before we stat the file, we currently crash. Let's
instead treat it as a missing file, using the mechanism introduced for
#258 .
2022-06-21 05:38:28 +07:00
dependabot[bot]
0c3334e4e4
cargo: bump insta from 1.14.1 to 1.15.0
...
Bumps [insta](https://github.com/mitsuhiko/insta ) from 1.14.1 to 1.15.0.
- [Release notes](https://github.com/mitsuhiko/insta/releases )
- [Changelog](https://github.com/mitsuhiko/insta/blob/master/CHANGELOG.md )
- [Commits](https://github.com/mitsuhiko/insta/compare/1.14.1...1.15.0 )
---
updated-dependencies:
- dependency-name: insta
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-06-21 04:10:57 +07:00
Martin von Zweigbergk
29a71c619a
working_copy: ignore special files
...
This patch makes us treat special files (e.g. Unix sockets) as absent
when snapshotting the working copy. We can consider later reporting
such files back to the caller (possibly via callback) so it can inform
the user about them.
Closes #258
2022-06-20 09:26:29 +07:00