Skip to content
This repository was archived by the owner on Oct 22, 2025. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
bee213e
Remove Sync + Send requirement on wraped reader
Mar 14, 2020
085ff41
feat: add case for ustar header with gnu longname
dignifiedquire Jul 19, 2020
4fa5af6
fix warnings
dignifiedquire Jul 19, 2020
2de9828
fix: keep state accross yield points when reading data
dignifiedquire Jul 19, 2020
add7b58
Merge pull request #4 from PaulAvery/master
dignifiedquire Jul 21, 2020
e57fa46
(cargo-release) version 0.1.2
dignifiedquire Jul 21, 2020
6e2533c
feat: ensure Send and Sync for Archive, Entries
dignifiedquire Jul 26, 2020
d320742
remove unused pin_cell
dignifiedquire Jul 26, 2020
645c2b7
Merge pull request #6 from dignifiedquire/feat-send
dignifiedquire Jul 26, 2020
eac58bb
(cargo-release) version 0.2.0
dignifiedquire Jul 26, 2020
1d82b68
fix(builder): add missing Send and Sync bounds to the builder
dignifiedquire Jul 29, 2020
d77f0c9
Merge pull request #7 from dignifiedquire/fix-builder
dignifiedquire Jul 29, 2020
25e4e89
(cargo-release) version 0.3.0
dignifiedquire Jul 29, 2020
a3be73c
update and fix CI workflow
danieleades Jul 6, 2021
4c55e18
only run CI for pushes on master (and all pull requests)
danieleades Jul 6, 2021
9162bd7
Merge pull request #15 from danieleades/fix/CI
dignifiedquire Jul 20, 2021
cc338e1
add MSRV target to CI
danieleades Jul 20, 2021
5d35e83
override installed toolchain
danieleades Jul 20, 2021
db91d9c
update readme
danieleades Jul 20, 2021
15c44c7
add MSRV policy to readme
danieleades Jul 21, 2021
ffc8719
remove default features from async-std dependency
danieleades Dec 6, 2020
acc8273
sort deps alphabetically
danieleades Jul 6, 2021
4a8ff39
add code coverage CI target
danieleades Jul 21, 2021
a71980a
remove unneeded token
danieleades Jul 21, 2021
4d2e05c
Merge pull request #18 from danieleades/patch-1
dignifiedquire Jul 22, 2021
871a7a5
Merge pull request #19 from danieleades/coverage
dignifiedquire Jul 22, 2021
09e57d5
Merge pull request #10 from danieleades/no-runtime
dignifiedquire Jul 22, 2021
0a185f8
drop unnecessary sync marker (#11)
Jul 28, 2021
33b9b42
chore: happy clippy
danieleades Jul 28, 2021
468e323
feat(deps): update pin-project and redox_syscall
dignifiedquire Jul 28, 2021
da72e45
Merge pull request #20 from dignifiedquire/update-deps
dignifiedquire Jul 28, 2021
59214ba
(cargo-release) version 0.4.0
dignifiedquire Jul 28, 2021
7900b2c
fix: use resolver 2 and full async-std for now
dignifiedquire Jul 29, 2021
5c8d15c
Merge pull request #22 from dignifiedquire/fix-no-std
dignifiedquire Jul 29, 2021
6c5048d
(cargo-release) version 0.4.1
dignifiedquire Jul 29, 2021
eebfc03
(cargo-release) start next development iteration 0.4.2-alpha.0
dignifiedquire Jul 29, 2021
9e61431
fix: do not create directories outside (#24)
dignifiedquire Aug 24, 2021
21a3631
(cargo-release) version 0.4.2
dignifiedquire Aug 24, 2021
b6975b7
refactor: use 'mem::take' instead of 'mem::replace'
danieleades Sep 30, 2021
365c331
ci: add dependabot config
danieleades Sep 30, 2021
b5fb2d7
fix: preserve intermediate entry state
Twey Sep 30, 2021
748fee5
ci: bump codecov/codecov-action from 1 to 2.1.0
dependabot[bot] Sep 30, 2021
1f4775a
chore: apply clippy
dignifiedquire Sep 2, 2024
b4372dd
fix: update async-std to use unstable flag
dignifiedquire Sep 2, 2024
0535ab2
ci: remove broken coverage workflow
dignifiedquire Sep 2, 2024
5a9cdd4
ci: run fmt and clippy on stable
dignifiedquire Sep 2, 2024
c8b8ec1
test: fix windows test
dignifiedquire Sep 2, 2024
611d903
feat: MSRV 1.63
dignifiedquire Sep 2, 2024
2e2b52d
Merge pull request #50 from dignifiedquire/cleanups
dignifiedquire Sep 2, 2024
6b0e1b6
chore: Release async-tar version 0.5.0
dignifiedquire Sep 2, 2024
e1323ee
ci: Bump actions/checkout from 2 to 4 (#53)
dependabot[bot] Sep 3, 2024
f732623
fix for archiving long paths that have path components starting with …
mitrandir77 Dec 20, 2024
0c18195
fix: patch for tarbug
dignifiedquire Oct 22, 2025
4e397a5
chore: Release async-tar version 0.5.1
dignifiedquire Oct 22, 2025
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
1 change: 1 addition & 0 deletions .clippy.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
msrv = "1.51"
10 changes: 10 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
version: 2
updates:
- package-ecosystem: cargo
directory: "/"
schedule:
interval: daily
- package-ecosystem: github-actions
directory: "/"
schedule:
interval: daily
90 changes: 58 additions & 32 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,21 @@
name: CI
on: [push, pull_request]
on:
push:
branches: [master]
pull_request:

jobs:
test:

check:
name: Test
runs-on: ${{ matrix.os }}
strategy:
matrix:
build: [stable, beta, nightly, macos, windows]
build: [msrv, stable, beta, nightly, macos, windows]
include:
- build: msrv
os: ubuntu-latest
rust: 1.63
- build: stable
os: ubuntu-latest
rust: stable
Expand All @@ -25,39 +32,58 @@ jobs:
os: windows-latest
rust: stable
steps:
- uses: actions/checkout@master
- name: Install Rust (rustup)
run: rustup update ${{ matrix.rust }} --no-self-update && rustup default ${{ matrix.rust }}
if: matrix.os != 'macos-latest'
shell: bash
- name: Install Rust (macos)
run: |
curl https://sh.rustup.rs | sh -s -- -y
echo "##[add-path]$HOME/.cargo/bin"
if: matrix.os == 'macos-latest'
- run: cargo test
- run: cargo test --no-default-features
- uses: actions/checkout@v4
- uses: actions-rs/toolchain@v1
with:
profile: minimal
override: true
toolchain: ${{ matrix.rust }}
- uses: actions-rs/cargo@v1
with:
command: test

check_fmt_and_docs:
name: Checking fmt and docs
fmt:
name: Check formatting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master

- uses: actions-rs/toolchain@v1
with:
- uses: actions/checkout@v4
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: nightly
override: true
toolchain: stable
components: rustfmt
override: true
- uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check

- name: setup
run: |
rustup component add rustfmt
rustc --version

- name: fmt
run: cargo fmt --all -- --check
lint:
name: Clippy Linting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
components: clippy
override: true
- uses: actions-rs/cargo@v1
with:
command: clippy
args: --all

- name: Docs
run: cargo doc
docs:
name: Check docs
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: nightly
- uses: actions-rs/cargo@v1
with:
command: doc
args: --no-deps
1 change: 1 addition & 0 deletions .rustfmt.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
use_field_init_shorthand = true
16 changes: 9 additions & 7 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "async-tar"
version = "0.1.1"
version = "0.5.1"
authors = ["dignifiedquire <[email protected]>", "Alex Crichton <[email protected]>"]
homepage = "https://github.com/dignifiedquire/async-tar"
repository = "https://github.com/dignifiedquire/async-tar"
Expand All @@ -10,6 +10,7 @@ keywords = ["tar", "tarfile", "encoding"]
readme = "README.md"
edition = "2018"
exclude = ["tests/archives/*"]
resolver = "2"

description = """
A Rust implementation of an async TAR file reader and writer. This library does not
Expand All @@ -19,20 +20,21 @@ contents are never required to be entirely resident in memory all at once.
"""

[dependencies]
async-std = { version = "1.12.0", features = ["unstable"] }
filetime = "0.2.8"
async-std = {version = "1.4.0", features = ["unstable"] }
pin-project = "0.4.6"
pin-project = "1.0.8"

[dev-dependencies]
async-std = { version = "1.12.0", features = ["unstable", "attributes"] }
static_assertions = "1.1.0"
tempfile = "3"
async-std = {version = "1.4.0", features = ["unstable", "attributes"] }

[target."cfg(unix)".dependencies]
xattr = { version = "0.2", optional = true }
libc = "0.2"
xattr = { version = "0.2", optional = true }

[target.'cfg(target_os = "redox")'.dependencies]
redox_syscall = "0.1"
redox_syscall = "0.2"

[features]
default = ["xattr"]
default = [ "xattr" ]
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,12 @@ fn main() {
}
```

# MSRV

Minimal stable rust version: 1.63

*An increase to the MSRV is accompanied by a minor version bump*

# License

This project is licensed under either of
Expand Down
2 changes: 1 addition & 1 deletion examples/extract_file.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ fn main() {
async_std::task::block_on(async {
let first_arg = args_os().nth(1).unwrap();
let filename = Path::new(&first_arg);
let mut ar = Archive::new(stdin());
let ar = Archive::new(stdin());
let mut entries = ar.entries().unwrap();
while let Some(file) = entries.next().await {
let mut f = file.unwrap();
Expand Down
2 changes: 1 addition & 1 deletion examples/list.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ use async_tar::Archive;

fn main() {
async_std::task::block_on(async {
let mut ar = Archive::new(stdin());
let ar = Archive::new(stdin());
let mut entries = ar.entries().unwrap();
while let Some(file) = entries.next().await {
let f = file.unwrap();
Expand Down
2 changes: 1 addition & 1 deletion examples/raw_list.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ use async_tar::Archive;

fn main() {
async_std::task::block_on(async {
let mut ar = Archive::new(stdin());
let ar = Archive::new(stdin());
let mut i = 0;
let mut entries = ar.entries_raw().unwrap();
while let Some(file) = entries.next().await {
Expand Down
Loading