Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v0.6.13 #263

Merged
merged 72 commits into from
Dec 30, 2024
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
f7570ca
Added aarch targets to test
iesahin Nov 30, 2024
949cb81
added need coverage again
iesahin Dec 13, 2024
e290948
Updated help string and added an example for ignored files in file list
iesahin Dec 13, 2024
3a174ca
fix a bug when cd cannot be found
iesahin Dec 13, 2024
cb63592
bump version
iesahin Dec 13, 2024
0ea01aa
fix git version string
iesahin Dec 13, 2024
23fe693
changelog
iesahin Dec 13, 2024
f4e8f61
Handle download errors more gracefully
iesahin Dec 13, 2024
fbf8905
changelog
iesahin Dec 13, 2024
9e732bf
add warnings about Git config to docs
iesahin Dec 15, 2024
d370c2c
Added -c core.quotepath=off to ls-files command
iesahin Dec 25, 2024
9f8a9bf
update changelog
iesahin Dec 25, 2024
f6be543
Hide directories in xvc file list output by default and add show-dirs…
iesahin Dec 25, 2024
334f737
updated filter flags
iesahin Dec 25, 2024
cb5de8c
Test debug
iesahin Dec 25, 2024
c3b3063
fix test
iesahin Dec 25, 2024
76f4355
rename join to left_join
iesahin Dec 26, 2024
f10f157
added xvc_path and metadata filtering
iesahin Dec 27, 2024
50cfa18
added starts_with_str and contains methods
iesahin Dec 27, 2024
1da3f22
added join methods
iesahin Dec 27, 2024
0e40685
added filter method
iesahin Dec 27, 2024
fd7bff0
hstore.subset now receives a slice instead of iterator
iesahin Dec 27, 2024
b2d9014
added path metadata filtering
iesahin Dec 27, 2024
2e67db8
test
iesahin Dec 27, 2024
b7d48de
debug starts_with
iesahin Dec 27, 2024
d341e4a
fix test
iesahin Dec 27, 2024
cacb080
update test script
iesahin Dec 27, 2024
924f5ec
Update references to reflect command option changes
iesahin Dec 27, 2024
7659b02
removed some watches
iesahin Dec 27, 2024
bd40957
Debug tests
iesahin Dec 27, 2024
fb34c94
tests
iesahin Dec 27, 2024
a9e67fa
remove watches
iesahin Dec 27, 2024
d475e18
fix test
iesahin Dec 27, 2024
ae4220e
Updates tests
iesahin Dec 27, 2024
6bd3129
removed watches
iesahin Dec 27, 2024
1d2aa01
update run script
iesahin Dec 27, 2024
2168ea3
bump version
iesahin Dec 27, 2024
488c05c
Added release.yml for cross compilation
iesahin Dec 28, 2024
823a33c
updated executable name
iesahin Dec 28, 2024
656a25a
comment out
iesahin Dec 28, 2024
35da7e0
added commands for each platform
iesahin Dec 28, 2024
1a71da8
removed --locked
iesahin Dec 28, 2024
8216e91
added args
iesahin Dec 28, 2024
e1af293
specified changes file and added some more targets
iesahin Dec 28, 2024
7ad39b8
removed RiscV platform from targets
iesahin Dec 28, 2024
3f512d5
Removed reflink from xvc-file's default features
iesahin Dec 28, 2024
5a21075
remove reflink from xvc default features
iesahin Dec 28, 2024
f5dfe23
Update Changelog
iesahin Dec 28, 2024
af2f765
removed netbsd target
iesahin Dec 28, 2024
1144a5b
sqlite fix
iesahin Dec 28, 2024
d5b9920
Remove Android build
iesahin Dec 29, 2024
3aa9899
remove duplicate
iesahin Dec 29, 2024
082b5d4
comment out release in rust.yml
iesahin Dec 29, 2024
8eb1d50
Added changelog line
iesahin Dec 29, 2024
55e5b28
Don't run release.yml for all PRs
iesahin Dec 29, 2024
3105e69
bump version
iesahin Dec 29, 2024
128ecc8
Bump date
iesahin Dec 29, 2024
3a983e0
Fix xvc-file-copy doc test
iesahin Dec 29, 2024
4ec0a71
removed watches from z_test_docs
iesahin Dec 29, 2024
443fd91
added new form for trace macro similar to watch! macro
iesahin Dec 29, 2024
5312791
removed some watches
iesahin Dec 29, 2024
3f51aa9
removed some watches
iesahin Dec 29, 2024
5dd1dc0
removed some watches
iesahin Dec 29, 2024
226477e
removed some watches
iesahin Dec 29, 2024
99ac91f
fixed unused variable warnings
iesahin Dec 29, 2024
51b5cd6
Fixed unused var warnings
iesahin Dec 29, 2024
b09f511
fixed some warnings
iesahin Dec 29, 2024
d043252
Add doc tests to join
iesahin Dec 30, 2024
6f92b89
don't run dev tests
iesahin Dec 30, 2024
293c153
added a doc test to xvc-store
iesahin Dec 30, 2024
d4d2736
fix test
iesahin Dec 30, 2024
d34ddfa
fix test
iesahin Dec 30, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 11 additions & 5 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -134,12 +134,17 @@ jobs:

deploy-linux:
name: deploy-linux
# needs: [coverage]
needs: [coverage]
if: startsWith(github.ref, 'refs/tags/')
runs-on: ubuntu-latest
strategy:
matrix:
target: [x86_64-unknown-linux-gnu]
target:
[
x86_64-unknown-linux-gnu,
aarch64-unknown-linux-gnu,
aarch64-linux-android,
]

steps:
- name: Checkout
Expand Down Expand Up @@ -172,7 +177,7 @@ jobs:

deploy-windows:
name: deploy-windows
# needs: [coverage]
needs: [coverage]
if: startsWith(github.ref, 'refs/tags/')
runs-on: windows-latest
strategy:
Expand Down Expand Up @@ -209,12 +214,13 @@ jobs:

deploy-macos:
name: deploy-macos
# needs: [coverage]
needs: [coverage]
if: startsWith(github.ref, 'refs/tags/')
runs-on: macos-latest
strategy:
matrix:
target: [x86_64-apple-darwin]
target:
[x86_64-apple-darwin, aarch64-apple-darwin, x86_64-unknown-freebsd]

steps:
- name: Checkout
Expand Down
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Xvc Changelog

## Unreleased

- Fixed xvc file remove bug that panics when content digests not found
- Fixed xvc file list help text and added a test/example for ignored files
- Added more targets to Github builds

## 0.6.12 (2024-11-30)

- PR: <https://github.com/iesahin/xvc/pull/262>
Expand Down
43 changes: 40 additions & 3 deletions book/src/ref/xvc-file-list.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,9 @@ Options:
GB and TB to represent sizes larger than 1MB.
- {{ats}}: actual timestamp. The timestamp of the workspace file.
- {{name}}: The name of the file or directory.
- {{cst}}: cache status. One of "=", ">", "<", "X", or "?" to show
- {{cst}}: cache status. One of "=", ">", "<", or "X" to show
whether the file timestamp is the same as the cached timestamp, newer,
older, not cached or not tracked.
older, and not tracked.
- {{rcd8}}: recorded content digest stored in the cache. First 8 digits.
- {{rcd64}}: recorded content digest stored in the cache. All 64 digits.
- {{rrm}}: recorded recheck method. Whether the entry is linked to the workspace
Expand Down Expand Up @@ -457,7 +457,7 @@ Total #: 5 Workspace Size: 10015 Cached Size: 10015
```

```admonish info
If `{{acd8}}` or `{{acd64}}` is not present in the format string, Xvc doesn't calculate these hashes. If you have large number of files where the default format (that includes actual content hashes) runs slowly, you may customize it to not to include these columns.
If `{{acd8}}` or `{{acd64}}` is not present in the format string, Xvc doesn't calculate these hashes. If you have large number of files where the default format (that includes actual content hashes) runs slowly, you can customize it to not to include these columns.
```

If you want to get a quick glimpse of what needs to carried in, or rechecked,
Expand All @@ -483,3 +483,40 @@ The cache status column shows `=` for unchanged files in the cache, `X` for
untracked files, `>` for files that there is newer version in the cache, and `<`
for files that there is a newer version in the workspace. The comparison is done
between recorded timestamp and actual timestamp with an accuracy of 1 second.

## Ignored Files

Ignored files and directories in `.xvcignore` are not listed in the results.

```console
$ zsh -c "echo 'dir-0005' > .xvcignore"

$ xvc file list --format='{{name}}' --no-summary
dir-0004/file-0005.bin
dir-0004/file-0004.bin
dir-0004/file-0003.bin
dir-0004/file-0002.bin
dir-0004/file-0001.bin
dir-0004
dir-0003/file-0005.bin
dir-0003/file-0004.bin
dir-0003/file-0003.bin
dir-0003/file-0002.bin
dir-0003/file-0001.bin
dir-0003
dir-0002/file-0005.bin
dir-0002/file-0004.bin
dir-0002/file-0003.bin
dir-0002/file-0002.bin
dir-0002/file-0001.bin
dir-0002
dir-0001/file-0005.bin
dir-0001/file-0004.bin
dir-0001/file-0003.bin
dir-0001/file-0002.bin
dir-0001/file-0001.bin
dir-0001/a-new-file.bin
dir-0001


```
6 changes: 3 additions & 3 deletions config/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "xvc-config"
version = "0.6.12"
version = "0.6.13-alpha.1"
edition = "2021"
description = "Xvc configuration management"
authors = ["Emre Şahin <[email protected]>"]
Expand All @@ -16,8 +16,8 @@ name = "xvc_config"
crate-type = ["rlib"]

[dependencies]
xvc-logging = { version = "0.6.12", path = "../logging" }
xvc-walker = { version = "0.6.12", path = "../walker" }
xvc-logging = { version = "0.6.13-alpha.1", path = "../logging" }
xvc-walker = { version = "0.6.13-alpha.1", path = "../walker" }


## Cli and config
Expand Down
12 changes: 6 additions & 6 deletions core/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "xvc-core"
version = "0.6.12"
version = "0.6.13-alpha.1"
edition = "2021"
description = "Xvc core for common elements for all commands"
authors = ["Emre Şahin <[email protected]>"]
Expand All @@ -16,10 +16,10 @@ name = "xvc_core"
crate-type = ["rlib"]

[dependencies]
xvc-config = { version = "0.6.12", path = "../config" }
xvc-logging = { version = "0.6.12", path = "../logging" }
xvc-ecs = { version = "0.6.12", path = "../ecs" }
xvc-walker = { version = "0.6.12", path = "../walker" }
xvc-config = { version = "0.6.13-alpha.1", path = "../config" }
xvc-logging = { version = "0.6.13-alpha.1", path = "../logging" }
xvc-ecs = { version = "0.6.13-alpha.1", path = "../ecs" }
xvc-walker = { version = "0.6.13-alpha.1", path = "../walker" }

## Cli and config
clap = { version = "^4.5", features = ["derive"] }
Expand Down Expand Up @@ -83,6 +83,6 @@ itertools = "^0.13"


[dev-dependencies]
xvc-test-helper = { version = "0.6.12", path = "../test_helper/" }
xvc-test-helper = { version = "0.6.13-alpha.1", path = "../test_helper/" }
proptest = "^1.5"
test-case = "^3.3"
4 changes: 2 additions & 2 deletions ecs/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "xvc-ecs"
version = "0.6.12"
version = "0.6.13-alpha.1"
edition = "2021"
description = "Entity-Component System for Xvc"
authors = ["Emre Şahin <[email protected]>"]
Expand All @@ -16,7 +16,7 @@ name = "xvc_ecs"
crate-type = ["rlib"]

[dependencies]
xvc-logging = { version = "0.6.12", path = "../logging" }
xvc-logging = { version = "0.6.13-alpha.1", path = "../logging" }

## Serialization
serde = { version = "^1.0", features = ["derive"] }
Expand Down
16 changes: 8 additions & 8 deletions file/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "xvc-file"
version = "0.6.12"
version = "0.6.13-alpha.1"
edition = "2021"
description = "File tracking, versioning, upload and download functions for Xvc"
authors = ["Emre Şahin <[email protected]>"]
Expand All @@ -21,12 +21,12 @@ test = true
bench = true

[dependencies]
xvc-logging = { version = "0.6.12", path = "../logging" }
xvc-config = { version = "0.6.12", path = "../config" }
xvc-core = { version = "0.6.12", path = "../core" }
xvc-ecs = { version = "0.6.12", path = "../ecs" }
xvc-walker = { version = "0.6.12", path = "../walker" }
xvc-storage = { version = "0.6.12", path = "../storage", default-features = false }
xvc-logging = { version = "0.6.13-alpha.1", path = "../logging" }
xvc-config = { version = "0.6.13-alpha.1", path = "../config" }
xvc-core = { version = "0.6.13-alpha.1", path = "../core" }
xvc-ecs = { version = "0.6.13-alpha.1", path = "../ecs" }
xvc-walker = { version = "0.6.13-alpha.1", path = "../walker" }
xvc-storage = { version = "0.6.13-alpha.1", path = "../storage", default-features = false }


## Cli and config
Expand Down Expand Up @@ -95,5 +95,5 @@ default = ["reflink"]
reflink = ["dep:reflink"]

[dev-dependencies]
xvc-test-helper = { version = "0.6.12", path = "../test_helper/" }
xvc-test-helper = { version = "0.6.13-alpha.1", path = "../test_helper/" }
shellfn = "^0.1"
4 changes: 2 additions & 2 deletions file/src/list/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -527,9 +527,9 @@ pub struct ListCLI {
/// GB and TB to represent sizes larger than 1MB.
/// - {{ats}}: actual timestamp. The timestamp of the workspace file.
/// - {{name}}: The name of the file or directory.
/// - {{cst}}: cache status. One of "=", ">", "<", "X", or "?" to show
/// - {{cst}}: cache status. One of "=", ">", "<", or "X" to show
/// whether the file timestamp is the same as the cached timestamp, newer,
/// older, not cached or not tracked.
/// older, and not tracked.
/// - {{rcd8}}: recorded content digest stored in the cache. First 8 digits.
/// - {{rcd64}}: recorded content digest stored in the cache. All 64 digits.
/// - {{rrm}}: recorded recheck method. Whether the entry is linked to the workspace
Expand Down
9 changes: 4 additions & 5 deletions file/src/remove/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -140,11 +140,10 @@ pub fn cmd_remove(output_snd: &XvcOutputSender, xvc_root: &XvcRoot, opts: Remove
} else {
remove_targets
.iter()
.map(|(xe, xp)| {
(
*xe,
XvcCachePath::new(xp, all_content_digests.get(xe).unwrap()).unwrap(),
)
.filter_map(|(xe, xp)| {
all_content_digests
.get(xe)
.map(|cd| (*xe, XvcCachePath::new(xp, cd).unwrap()))
})
Comment on lines +138 to 142
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🐛 Possible Bug
The unwrap() call on XvcCachePath::new(xp, cd) could panic if the constructor returns None. Since this is in a filter_map, we should handle the None case gracefully.

Suggested change
.filter_map(|(xe, xp)| {
all_content_digests
.get(xe)
.map(|cd| (*xe, XvcCachePath::new(xp, cd).unwrap()))
})
.filter_map(|(xe, xp)| {
all_content_digests
.get(xe)
.and_then(|cd| XvcCachePath::new(xp, cd))
.map(|cp| (*xe, cp))
})

.collect::<Vec<(XvcEntity, XvcCachePath)>>()
};
Expand Down
20 changes: 10 additions & 10 deletions lib/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "xvc"
version = "0.6.12"
version = "0.6.13-alpha.1"
edition = "2021"
description = "An MLOps tool to manage data files and pipelines on top of Git"
authors = ["Emre Şahin <[email protected]>"]
Expand All @@ -20,14 +20,14 @@ name = "xvc"
path = "src/main.rs"

[dependencies]
xvc-config = { version = "0.6.12", path = "../config" }
xvc-core = { version = "0.6.12", path = "../core" }
xvc-logging = { version = "0.6.12", path = "../logging" }
xvc-ecs = { version = "0.6.12", path = "../ecs" }
xvc-file = { version = "0.6.12", path = "../file", default-features = false }
xvc-pipeline = { version = "0.6.12", path = "../pipeline" }
xvc-walker = { version = "0.6.12", path = "../walker" }
xvc-storage = { version = "0.6.12", path = "../storage", default-features = false }
xvc-config = { version = "0.6.13-alpha.1", path = "../config" }
xvc-core = { version = "0.6.13-alpha.1", path = "../core" }
xvc-logging = { version = "0.6.13-alpha.1", path = "../logging" }
xvc-ecs = { version = "0.6.13-alpha.1", path = "../ecs" }
xvc-file = { version = "0.6.13-alpha.1", path = "../file", default-features = false }
xvc-pipeline = { version = "0.6.13-alpha.1", path = "../pipeline" }
xvc-walker = { version = "0.6.13-alpha.1", path = "../walker" }
xvc-storage = { version = "0.6.13-alpha.1", path = "../storage", default-features = false }

## Cli and config
clap = { version = "^4.5", features = ["derive", "cargo"] }
Expand Down Expand Up @@ -133,4 +133,4 @@ shellfn = "^0.1"
test-case = "^3.3"
trycmd = "^0.15"
which = "^7.0"
xvc-test-helper = { version = "0.6.12", path = "../test_helper/" }
xvc-test-helper = { version = "0.6.13-alpha.1", path = "../test_helper/" }
2 changes: 1 addition & 1 deletion logging/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "xvc-logging"
version = "0.6.12"
version = "0.6.13-alpha.1"
edition = "2021"
description = "Logging crate for Xvc"
authors = ["Emre Şahin <[email protected]>"]
Expand Down
16 changes: 8 additions & 8 deletions pipeline/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "xvc-pipeline"
version = "0.6.12"
version = "0.6.13-alpha.1"
edition = "2021"
description = "Xvc data pipeline management"
authors = ["Emre Şahin <[email protected]>"]
Expand All @@ -19,12 +19,12 @@ default = []
bundled-sqlite = ["rusqlite/bundled"]

[dependencies]
xvc-config = { version = "0.6.12", path = "../config" }
xvc-core = { version = "0.6.12", path = "../core" }
xvc-ecs = { version = "0.6.12", path = "../ecs" }
xvc-logging = { version = "0.6.12", path = "../logging" }
xvc-walker = { version = "0.6.12", path = "../walker" }
xvc-file = { version = "0.6.12", path = "../file", default-features = false }
xvc-config = { version = "0.6.13-alpha.1", path = "../config" }
xvc-core = { version = "0.6.13-alpha.1", path = "../core" }
xvc-ecs = { version = "0.6.13-alpha.1", path = "../ecs" }
xvc-logging = { version = "0.6.13-alpha.1", path = "../logging" }
xvc-walker = { version = "0.6.13-alpha.1", path = "../walker" }
xvc-file = { version = "0.6.13-alpha.1", path = "../file", default-features = false }

## Cli and config
clap = { version = "^4.5", features = ["derive"] }
Expand Down Expand Up @@ -99,5 +99,5 @@ itertools = "^0.13"
derive_more = { version = "^1.0", features = ["full"] }

[dev-dependencies]
xvc-test-helper = { version = "0.6.12", path = "../test_helper/" }
xvc-test-helper = { version = "0.6.13-alpha.1", path = "../test_helper/" }
test-case = "^3.3"
14 changes: 7 additions & 7 deletions storage/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "xvc-storage"
version = "0.6.12"
version = "0.6.13-alpha.1"
edition = "2021"
description = "Xvc remote and local storage management"
authors = ["Emre Şahin <[email protected]>"]
Expand All @@ -16,11 +16,11 @@ name = "xvc_storage"
crate-type = ["rlib"]

[dependencies]
xvc-logging = { version = "0.6.12", path = "../logging" }
xvc-config = { version = "0.6.12", path = "../config" }
xvc-core = { version = "0.6.12", path = "../core" }
xvc-ecs = { version = "0.6.12", path = "../ecs" }
xvc-walker = { version = "0.6.12", path = "../walker" }
xvc-logging = { version = "0.6.13-alpha.1", path = "../logging" }
xvc-config = { version = "0.6.13-alpha.1", path = "../config" }
xvc-core = { version = "0.6.13-alpha.1", path = "../core" }
xvc-ecs = { version = "0.6.13-alpha.1", path = "../ecs" }
xvc-walker = { version = "0.6.13-alpha.1", path = "../walker" }

## Cli and config
clap = { version = "^4.5", features = ["derive"] }
Expand Down Expand Up @@ -105,7 +105,7 @@ bundled-openssl = ["openssl/vendored"]


[dev-dependencies]
xvc-test-helper = { version = "0.6.12", path = "../test_helper/" }
xvc-test-helper = { version = "0.6.13-alpha.1", path = "../test_helper/" }
shellfn = "^0.1"

[package.metadata.cargo-udeps.ignore]
Expand Down
4 changes: 2 additions & 2 deletions test_helper/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "xvc-test-helper"
version = "0.6.12"
version = "0.6.13-alpha.1"
edition = "2021"
description = "Unit test helper functions for Xvc"
authors = ["Emre Şahin <[email protected]>"]
Expand All @@ -20,7 +20,7 @@ path = "src/main.rs"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
xvc-logging = { version = "0.6.12", path = "../logging/" }
xvc-logging = { version = "0.6.13-alpha.1", path = "../logging/" }

rand = "^0.8"
log = "^0.4"
Expand Down
Loading
Loading