279 Commits

Author SHA1 Message Date
Sylvestre Ledru e3f4224f12 prepare version 0.7.0 2024-09-08 10:04:46 +02:00
Sylvestre Ledru 8fc5ddb299 Merge pull request #450 from cakebaker/find_fix_clippy_warning
find: use array instead of closure
2024-09-06 08:53:55 +02:00
Daniel Hofstetter b4f22f0747 find: use array instead of closure
fix warning from manual_pattern_char_comparison lint
2024-09-06 07:44:59 +02:00
hanbings db8e265547 Clean up unused generated during Windows platform build process. (#448)
* Fix Windows' warning in build.

* Fix Windows' warning in build.

* Fix Windows' warning in build.

* Run cargo fmt.
2024-09-05 10:10:34 +02:00
hanbings f9d74ada2e Implement -ls and -fls (#435) 2024-09-05 09:06:54 +02:00
Daniel Hofstetter 907f3841ab Merge pull request #449 from uutils/dependabot/cargo/clap-4.5.17
build(deps): bump clap from 4.5.16 to 4.5.17
2024-09-05 07:11:53 +02:00
dependabot[bot] 888d3cd516 build(deps): bump clap from 4.5.16 to 4.5.17
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.16 to 4.5.17.
- [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.5.16...clap_complete-v4.5.17)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-05 03:38:19 +00:00
Daniel Hofstetter f2e49d8d48 Merge pull request #447 from uutils/dependabot/cargo/filetime-0.2.25
build(deps): bump filetime from 0.2.24 to 0.2.25
2024-08-28 07:05:08 +02:00
dependabot[bot] d847a7bf7e build(deps): bump filetime from 0.2.24 to 0.2.25
Bumps [filetime](https://github.com/alexcrichton/filetime) from 0.2.24 to 0.2.25.
- [Commits](https://github.com/alexcrichton/filetime/compare/0.2.24...0.2.25)

---
updated-dependencies:
- dependency-name: filetime
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-28 03:28:47 +00:00
Tavian Barnes abf851dd7d ci: Update bfs to 4.0 (#446)
And fix diff-bfs.sh for the new test result format.
2024-08-17 08:13:30 +01:00
Daniel Hofstetter d9d2a4e865 Merge pull request #445 from uutils/dependabot/cargo/clap-4.5.16
build(deps): bump clap from 4.5.15 to 4.5.16
2024-08-16 09:28:56 +02:00
dependabot[bot] 9b0fea9880 build(deps): bump clap from 4.5.15 to 4.5.16
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.15 to 4.5.16.
- [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.5.15...clap_complete-v4.5.16)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-16 03:39:20 +00:00
Tavian Barnes a7a73c325d Wrap walkdir::DirEntry in a new type (#436)
* Add -follow support.

* tests/find: Serialize find_time()

find_time() relies on the working directory, but e.g.
delete_on_dot_dir() will temporarily change directories, causing
find_time() to fail when run in parallel.

* find: Don't use uutils::error::set_exit_code()

The global exit code can polute the results of other tests.

Link: https://github.com/uutils/coreutils/issues/5777

* find: New WalkEntry wrapper

The new type wraps DirEntry when possible, but also lets us pass a valid
entry to matchers when walkdir returns a broken symlink error.  It also
implements a Metadata cache (part of #430).

* find: Implement -H, -L, -P flags

* find: Fix -follow -samefile

* find: Fix -follow -newer

* find: Implement -xtype

* find: Fix -delete error handling

---------

Co-authored-by: hanbings <hanbings@hanbings.io>
2024-08-15 04:01:19 +08:00
Daniel Hofstetter 465856ce24 Merge pull request #442 from uutils/dependabot/cargo/filetime-0.2.24
build(deps): bump filetime from 0.2.23 to 0.2.24
2024-08-12 08:16:29 +02:00
Daniel Hofstetter e456c23d5c Merge pull request #441 from uutils/dependabot/cargo/clap-4.5.15
build(deps): bump clap from 4.5.14 to 4.5.15
2024-08-12 08:14:51 +02:00
dependabot[bot] 4dc350e5fb build(deps): bump filetime from 0.2.23 to 0.2.24
Bumps [filetime](https://github.com/alexcrichton/filetime) from 0.2.23 to 0.2.24.
- [Commits](https://github.com/alexcrichton/filetime/compare/0.2.23...0.2.24)

---
updated-dependencies:
- dependency-name: filetime
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-12 03:51:06 +00:00
dependabot[bot] fcc929a978 build(deps): bump clap from 4.5.14 to 4.5.15
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.14 to 4.5.15.
- [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.5.14...v4.5.15)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-12 03:51:01 +00:00
hanbings 423453eaf8 Implement -fprint (#421) 2024-08-11 09:38:05 +02:00
Daniel Hofstetter 79986a26f2 Merge pull request #437 from uutils/dependabot/cargo/assert_cmd-2.0.16
build(deps): bump assert_cmd from 2.0.15 to 2.0.16
2024-08-09 08:07:12 +02:00
Daniel Hofstetter de1bc84812 Merge pull request #438 from uutils/dependabot/cargo/clap-4.5.14
build(deps): bump clap from 4.5.13 to 4.5.14
2024-08-09 08:05:59 +02:00
dependabot[bot] f0cd3748b8 build(deps): bump clap from 4.5.13 to 4.5.14
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.13 to 4.5.14.
- [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.5.13...v4.5.14)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-09 03:24:36 +00:00
dependabot[bot] 780d106b34 build(deps): bump assert_cmd from 2.0.15 to 2.0.16
Bumps [assert_cmd](https://github.com/assert-rs/assert_cmd) from 2.0.15 to 2.0.16.
- [Changelog](https://github.com/assert-rs/assert_cmd/blob/master/CHANGELOG.md)
- [Commits](https://github.com/assert-rs/assert_cmd/compare/v2.0.15...v2.0.16)

---
updated-dependencies:
- dependency-name: assert_cmd
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-09 03:24:28 +00:00
Daniel Hofstetter 4043c00bde Merge pull request #434 from uutils/dependabot/cargo/tempfile-3.12.0
build(deps): bump tempfile from 3.11.0 to 3.12.0
2024-08-07 08:01:56 +02:00
dependabot[bot] f0c3562aca build(deps): bump tempfile from 3.11.0 to 3.12.0
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.11.0 to 3.12.0.
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/commits)

---
updated-dependencies:
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-07 03:44:37 +00:00
dependabot[bot] d7bf7da4a1 build(deps): bump predicates from 3.1.0 to 3.1.2 (#424)
Bumps [predicates](https://github.com/assert-rs/predicates-rs) from 3.1.0 to 3.1.2.
- [Changelog](https://github.com/assert-rs/predicates-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/assert-rs/predicates-rs/compare/v3.1.0...v3.1.2)

---
updated-dependencies:
- dependency-name: predicates
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: hanbings <hanbings@hanbings.io>
2024-08-06 00:39:50 +08:00
dependabot[bot] 73dcd94827 build(deps): bump assert_cmd from 2.0.14 to 2.0.15 (#426)
Bumps [assert_cmd](https://github.com/assert-rs/assert_cmd) from 2.0.14 to 2.0.15.
- [Changelog](https://github.com/assert-rs/assert_cmd/blob/master/CHANGELOG.md)
- [Commits](https://github.com/assert-rs/assert_cmd/compare/v2.0.14...v2.0.15)

---
updated-dependencies:
- dependency-name: assert_cmd
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: hanbings <hanbings@hanbings.io>
2024-08-06 00:29:40 +08:00
Tavian Barnes 60e4a8cf92 find: -daystart returns true (#428) 2024-08-06 00:22:42 +08:00
Daniel Hofstetter 8b295e7d8a Merge pull request #433 from uutils/dependabot/cargo/tempfile-3.11.0
build(deps): bump tempfile from 3.10.1 to 3.11.0
2024-08-05 07:59:49 +02:00
Daniel Hofstetter 2dc916f980 Merge pull request #432 from uutils/dependabot/cargo/regex-1.10.6
build(deps): bump regex from 1.10.5 to 1.10.6
2024-08-05 07:58:59 +02:00
dependabot[bot] 19012452e1 build(deps): bump tempfile from 3.10.1 to 3.11.0
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.10.1 to 3.11.0.
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.10.1...v3.11.0)

---
updated-dependencies:
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-05 03:55:36 +00:00
dependabot[bot] 6042d5a47f build(deps): bump regex from 1.10.5 to 1.10.6
Bumps [regex](https://github.com/rust-lang/regex) from 1.10.5 to 1.10.6.
- [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.10.5...1.10.6)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-05 03:55:28 +00:00
Daniel Hofstetter 45e5964e6a Merge pull request #429 from uutils/dependabot/cargo/clap-4.5.13
build(deps): bump clap from 4.5.10 to 4.5.13
2024-08-01 09:33:03 +02:00
dependabot[bot] 9544f78977 build(deps): bump clap from 4.5.10 to 4.5.13
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.10 to 4.5.13.
- [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.5.10...v4.5.13)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-01 03:35:21 +00:00
Sylvestre Ledru 5be00c85d7 Merge pull request #427 from tavianator/simplify-matcher-io
Remove unnecessary lifetime parameter from Dependencies
2024-07-28 09:53:25 +02:00
Tavian Barnes 8771861b0c Remove unnecessary lifetime parameter from Dependencies 2024-07-27 19:54:28 -04:00
Daniel Hofstetter c4a56e9c3f find: fix needless borrow clippy warning (#423) 2024-07-26 03:15:07 +08:00
Daniel Hofstetter 3b222d6040 Merge pull request #422 from uutils/dependabot/cargo/clap-4.5.10
build(deps): bump clap from 4.5.9 to 4.5.10
2024-07-24 07:27:06 +02:00
dependabot[bot] 6f53585a4c build(deps): bump clap from 4.5.9 to 4.5.10
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.9 to 4.5.10.
- [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.5.9...v4.5.10)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-24 03:12:02 +00:00
hanbings 1b9904eb5f Implement -daystart (#413) 2024-07-21 16:06:15 +02:00
Tavian Barnes 4807264faa find: ctime is "changed" time, not "created" time (#416)
Fixes #358
2024-07-17 21:14:00 +08:00
Chen Chen 9f44977270 Implement simple caching for -fstype (#419)
* Implement simple caching for -fstype

* Using lstat instead of stat in -fstype
2024-07-13 01:43:56 +08:00
Sylvestre Ledru 7f4423e703 Merge pull request #417 from tavianator/options-return-true
options return true
2024-07-11 21:49:40 +02:00
Tavian Barnes e9634f1ed4 find: Stop parsing after we see -help or -version
GNU find accepts things like

    $ find \( -help -foo -not
2024-07-10 11:55:14 -04:00
Tavian Barnes 37a543b9d6 find: Options like -maxdepth return true
Previously, this would give an error:

    $ find -maxdepth 0 -a -print
    Error: invalid expression; you have used a binary operator '-a' with nothing before it.

Now, options are treated like other primary expressions:

    $ find -maxdepth 0 -a print
    .
2024-07-10 11:42:58 -04:00
hanbings 9c11f11045 Implement -noleaf (#414) 2024-07-09 23:27:18 +02:00
Daniel Hofstetter a0b5713b61 Merge pull request #415 from uutils/dependabot/cargo/clap-4.5.9
build(deps): bump clap from 4.5.8 to 4.5.9
2024-07-09 08:23:11 +02:00
dependabot[bot] 5d4b9ca5e2 build(deps): bump clap from 4.5.8 to 4.5.9
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.8 to 4.5.9.
- [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.5.8...v4.5.9)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-09 03:09:20 +00:00
Daniel Hofstetter 3bf5567397 Merge pull request #410 from uutils/dependabot/cargo/clap-4.5.8
build(deps): bump clap from 4.5.7 to 4.5.8
2024-07-01 07:41:29 +02:00
dependabot[bot] bbc9f06543 build(deps): bump clap from 4.5.7 to 4.5.8
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.7 to 4.5.8.
- [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.5.7...v4.5.8)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-01 03:30:04 +00:00
Sylvestre Ledru 8bfa9d200b Revert "cargo-dist: generate more targets"
it fails with:
```
  error occurred: Failed to find tool. Is `aarch64-linux-musl-gcc` installed?
```
and
```
          /usr/bin/ld: /home/runner/work/findutils/findutils/target/aarch64-unknown-linux-gnu/dist/deps/find-c77ccffa664800a0.49era2xhdewepevi.rcgu.o: error adding symbols: file in wrong format
```

This reverts commit b5e7dd52d9.
2024-06-29 10:49:11 +02:00
Sylvestre Ledru a235b35ac3 Revert "Fix cargo-dist generation of arm64 linux"
This reverts commit ca252c9727.
2024-06-29 10:48:01 +02:00
Sylvestre Ledru ca252c9727 Fix cargo-dist generation of arm64 linux
See:
https://github.com/axodotdev/cargo-dist/issues/74#issuecomment-2053680080
2024-06-29 10:37:01 +02:00
Sylvestre Ledru c995e25eb4 prepare version 0.6.0 2024-06-29 10:16:34 +02:00
Tavian Barnes fd54f9f72a samefile: Cache FileInformation for the target (#409)
And don't follow symlinks.
2024-06-28 15:53:52 +08:00
hanbings f145469cfd Comments are only sent when GNU/BFS test compatibility changes. (#407) 2024-06-28 08:56:32 +02:00
hanbings f2202dc23f find: Implement -fstype (#408)
---------

Co-authored-by: Sylvestre Ledru <sylvestre@debian.org>
2024-06-27 08:26:27 +02:00
hanbings fa4cce8a95 find: Implement -samefile (#389)
.

---------

Co-authored-by: Sylvestre Ledru <sylvestre@debian.org>
2024-06-27 07:55:31 +02:00
Sylvestre Ledru 7136628c45 Merge pull request #405 from hanbings/implement-371
find: Implement `-uid` and `-gid`
2024-06-26 22:48:23 +02:00
hanbings db9d69f8eb Merge branch 'main' into implement-371 2024-06-26 16:35:17 -04:00
Daniel Hofstetter 42075f53f0 find: make InodeMatcher & LinksMatcher unix-only (#393) 2024-06-24 09:35:14 +02:00
Daniel Hofstetter 57b670680c Bump regex from 1.7 to 1.10 (#391) 2024-06-24 08:19:10 +02:00
Daniel Hofstetter cf8a29d73b Merge pull request #406 from uutils/dependabot/cargo/uucore-0.0.27
build(deps): bump uucore from 0.0.26 to 0.0.27
2024-06-24 07:52:40 +02:00
dependabot[bot] bc715f84fa build(deps): bump uucore from 0.0.26 to 0.0.27
Bumps [uucore](https://github.com/uutils/coreutils) from 0.0.26 to 0.0.27.
- [Release notes](https://github.com/uutils/coreutils/releases)
- [Commits](https://github.com/uutils/coreutils/compare/0.0.26...0.0.27)

---
updated-dependencies:
- dependency-name: uucore
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-24 03:06:45 +00:00
hanbings 8736cde582 Run cargo fmt. 2024-06-23 19:00:57 -04:00
hanbings af1741ba85 implement -uid and -gid features. 2024-06-23 18:57:57 -04:00
hanbings 5b19ea2125 Fix CI code for comment.yml (#404) 2024-06-24 00:29:26 +02:00
hanbings d329702b69 Provide GNU test comparison comments for PRs in Github Actions. (#400) 2024-06-23 19:02:12 +02:00
Y.D.X. 84e4be85c1 xargs: support args with conflicts 2024-06-23 18:23:25 +02:00
Y.D.X. 1979483175 xargs: split input only at newlines if replace 2024-06-23 18:23:25 +02:00
Y.D.X. a750b3225a xargs: do not merge extra args before replacing
Resolves #362
2024-06-23 18:23:25 +02:00
hanbings a2e350ce96 find: Implement -[no]user and -[no]group predicates. (#368)
---------

Co-authored-by: Sylvestre Ledru <sylvestre@debian.org>
2024-06-23 10:04:29 +02:00
Daniel Hofstetter d35aebf5ed find: fix usage of legacy numeric methods (#403) 2024-06-14 11:25:02 +02:00
Daniel Hofstetter 9502a7c4eb Merge pull request #402 from uutils/dependabot/github_actions/dawidd6/action-download-artifact-6
build(deps): bump dawidd6/action-download-artifact from 5 to 6
2024-06-13 07:09:36 +02:00
dependabot[bot] f74ef7c2af build(deps): bump dawidd6/action-download-artifact from 5 to 6
Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact) from 5 to 6.
- [Release notes](https://github.com/dawidd6/action-download-artifact/releases)
- [Commits](https://github.com/dawidd6/action-download-artifact/compare/v5...v6)

---
updated-dependencies:
- dependency-name: dawidd6/action-download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-13 03:26:29 +00:00
Daniel Hofstetter 3ec8d4da46 Merge pull request #401 from uutils/dependabot/cargo/clap-4.5.7
build(deps): bump clap from 4.5.6 to 4.5.7
2024-06-11 07:09:10 +02:00
dependabot[bot] 62e370179b build(deps): bump clap from 4.5.6 to 4.5.7
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.6 to 4.5.7.
- [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.5.6...v4.5.7)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-11 03:48:06 +00:00
Daniel Hofstetter 98fd45a182 Merge pull request #399 from uutils/dependabot/cargo/clap-4.5.6
build(deps): bump clap from 4.5.4 to 4.5.6
2024-06-07 07:26:25 +02:00
dependabot[bot] 665165b297 build(deps): bump clap from 4.5.4 to 4.5.6
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.4 to 4.5.6.
- [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.5.4...v4.5.6)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-07 03:06:14 +00:00
Daniel Hofstetter d78f44a923 Merge pull request #398 from uutils/dependabot/github_actions/dawidd6/action-download-artifact-5
build(deps): bump dawidd6/action-download-artifact from 4 to 5
2024-06-05 07:13:18 +02:00
dependabot[bot] a2631ae925 build(deps): bump dawidd6/action-download-artifact from 4 to 5
Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact) from 4 to 5.
- [Release notes](https://github.com/dawidd6/action-download-artifact/releases)
- [Commits](https://github.com/dawidd6/action-download-artifact/compare/v4...v5)

---
updated-dependencies:
- dependency-name: dawidd6/action-download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-05 03:53:18 +00:00
Daniel Hofstetter c2279ffae8 Merge pull request #397 from uutils/dependabot/github_actions/dawidd6/action-download-artifact-4
build(deps): bump dawidd6/action-download-artifact from 3 to 4
2024-06-04 07:22:34 +02:00
dependabot[bot] fba701b928 build(deps): bump dawidd6/action-download-artifact from 3 to 4
Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact) from 3 to 4.
- [Release notes](https://github.com/dawidd6/action-download-artifact/releases)
- [Commits](https://github.com/dawidd6/action-download-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: dawidd6/action-download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-04 03:05:07 +00:00
hanbings d7057e09b9 find: Implement -amin -cmin -mmin age ranges. (#355) 2024-06-01 10:34:47 +02:00
Sylvestre Ledru add14dbebf Merge pull request #394 from hanbings/fix-windows-test
find: Fix `-newerXY` test code for Windows platform.
2024-05-30 23:13:07 +02:00
Sylvestre Ledru ed97c851aa Merge pull request #395 from cakebaker/find_remove_unused_import
find: remove unused import on Windows
2024-05-30 23:12:20 +02:00
Sylvestre Ledru 0ca2450ab2 Merge pull request #396 from cakebaker/xargs_allow_dead_code
xargs: use `#[allow(dead_code)]` for enum
2024-05-30 23:12:04 +02:00
Daniel Hofstetter 52ee81296c xargs: use #[allow(dead_code)] for enum 2024-05-30 10:43:35 +02:00
Daniel Hofstetter a0c9f2dfd4 find: remove unused import on Windows 2024-05-30 09:05:17 +02:00
hanbings bd759d5e21 Fix test code for Windows platform. 2024-05-29 19:39:03 +08:00
Sylvestre Ledru 3badb05772 Merge pull request #392 from cakebaker/ci_run_tests
ci: run `cargo test` instead of `cargo check` in "cargo test" jobs
2024-05-28 16:51:54 +02:00
Daniel Hofstetter ab1c2bacb7 ci: run "cargo test" in "cargo test" jobs
instead of "cargo check"
2024-05-28 16:28:43 +02:00
Daniel Hofstetter 393f0b9672 Merge pull request #390 from uutils/dependabot/cargo/nix-0.29.0
build(deps): bump nix from 0.28.0 to 0.29.0
2024-05-27 06:59:45 +02:00
dependabot[bot] 18dfc9b0cc build(deps): bump nix from 0.28.0 to 0.29.0
Bumps [nix](https://github.com/nix-rust/nix) from 0.28.0 to 0.29.0.
- [Changelog](https://github.com/nix-rust/nix/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nix-rust/nix/compare/v0.28.0...v0.29.0)

---
updated-dependencies:
- dependency-name: nix
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-27 03:35:27 +00:00
hanbings 0693242553 find: Implement -anewer and -cnewer. (#386)
* Add short args support for -newer.

* Add unit tests.

* Add integration tests.

* Clean up duplicate code.

* Clean up duplicate code.

* Clean up duplicate code.
2024-05-22 16:57:43 +02:00
Sylvestre Ledru aa6ff46078 release 0.5.1 2024-05-19 19:07:24 +02:00
Daniel Hofstetter ab03198152 Merge pull request #388 from sylvestre/cargo-dist
cargo-dist: generate more targets
2024-05-19 12:40:29 +02:00
Sylvestre Ledru b5e7dd52d9 cargo-dist: generate more targets 2024-05-19 11:58:13 +02:00
Sylvestre Ledru b91820de17 Merge pull request #385 from cakebaker/find_replace_zip_with_nested_loops
find: replace `zip` with nested loops in tests
2024-05-16 10:54:45 +02:00
Daniel Hofstetter 6fe2c9c649 find: replace zip with nested loops in tests 2024-05-16 10:44:16 +02:00
Sylvestre Ledru 70b7b3633e Merge pull request #361 from hanbings/fix-355
find: Fix `convert_arg_to_comparable_value()` function parsing unexpected characters.
2024-05-16 10:43:43 +02:00
Daniel Hofstetter 92c60597ec Merge pull request #364 from uutils/dependabot/cargo/serial_test-3.1.1
build(deps): bump serial_test from 3.1.0 to 3.1.1
2024-04-29 07:03:43 +02:00
Daniel Hofstetter 0cfb381cd9 Merge pull request #365 from uutils/dependabot/cargo/uucore-0.0.26
build(deps): bump uucore from 0.0.25 to 0.0.26
2024-04-29 07:01:53 +02:00
dependabot[bot] ec0fff41e3 build(deps): bump uucore from 0.0.25 to 0.0.26
Bumps [uucore](https://github.com/uutils/coreutils) from 0.0.25 to 0.0.26.
- [Release notes](https://github.com/uutils/coreutils/releases)
- [Commits](https://github.com/uutils/coreutils/compare/0.0.25...0.0.26)

---
updated-dependencies:
- dependency-name: uucore
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-29 03:53:10 +00:00
dependabot[bot] 288f7f07a2 build(deps): bump serial_test from 3.1.0 to 3.1.1
Bumps [serial_test](https://github.com/palfrey/serial_test) from 3.1.0 to 3.1.1.
- [Release notes](https://github.com/palfrey/serial_test/releases)
- [Commits](https://github.com/palfrey/serial_test/compare/v3.1.0...v3.1.1)

---
updated-dependencies:
- dependency-name: serial_test
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-29 03:53:03 +00:00
hanbings c0b8cd0b3b Add integration tests. 2024-04-24 21:17:57 +08:00
hanbings 5370f7f999 Fix convert_arg_to_comparable_value function parsing unexpected characters. 2024-04-24 02:43:40 +08:00
Sylvestre Ledru baa09baf47 Merge pull request #359 from cakebaker/ci_use_clippy_all_targets
ci: use `--all-targets` when running clippy
2024-04-23 08:49:02 +02:00
Daniel Hofstetter bb667e388a Merge pull request #357 from hanbings/clippy
clippy: Fix clippy warning.
2024-04-23 07:41:54 +02:00
Daniel Hofstetter 415d17deed ci: use --all-targets when running clippy 2024-04-23 07:29:39 +02:00
hanbings acd5c4b8b2 Fix clippy warning. 2024-04-23 00:54:18 +08:00
Daniel Hofstetter 2084d9d91b Merge pull request #356 from uutils/dependabot/cargo/serial_test-3.1.0
build(deps): bump serial_test from 3.0.0 to 3.1.0
2024-04-22 07:17:10 +02:00
dependabot[bot] 14d4629519 build(deps): bump serial_test from 3.0.0 to 3.1.0
Bumps [serial_test](https://github.com/palfrey/serial_test) from 3.0.0 to 3.1.0.
- [Release notes](https://github.com/palfrey/serial_test/releases)
- [Commits](https://github.com/palfrey/serial_test/compare/v3.0.0...v3.1.0)

---
updated-dependencies:
- dependency-name: serial_test
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-22 03:01:35 +00:00
hanbings 6a8379520f find: Fix unexpectedly accepted empty expression. (#353)
* Check for expression that contain only empty parentheses.

* Add an empty expression test in the test file.
2024-04-18 16:32:32 +02:00
Daniel Hofstetter d4c40acb9c Merge pull request #354 from uutils/dependabot/cargo/chrono-0.4.38
build(deps): bump chrono from 0.4.37 to 0.4.38
2024-04-16 07:07:37 +02:00
dependabot[bot] 89ca20cba5 build(deps): bump chrono from 0.4.37 to 0.4.38
Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.37 to 0.4.38.
- [Release notes](https://github.com/chronotope/chrono/releases)
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md)
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.37...v0.4.38)

---
updated-dependencies:
- dependency-name: chrono
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-16 03:49:44 +00:00
hanbings d8e2ce20ce find: Changed exit code when an error is encountered in process_dir(). (#352)
* Add an error flag to process_dir().

* Added no permission file error test.

* Restore files after no permission file test.

* Adjust the timing of matcher_io creation in process_dir().

* Use uucore::error to set global return code.
2024-04-08 15:24:25 +02:00
hanbings d94a8e9093 find: Fix panic when piped into head (#351)
* Ignore the SIGPIPE signal.

* Add description of calling mute_sigpipe_panic().
2024-04-04 11:00:46 +02:00
Sylvestre Ledru f32425a83c Merge pull request #350 from sylvestre/release
use cargo-dist + prepare 0.5.0
2024-04-04 00:25:48 +02:00
Sylvestre Ledru fd8ef0bb26 release: version 0.5.0 2024-04-04 00:19:57 +02:00
Sylvestre Ledru 93469e6f97 chore: wow shiny new cargo-dist CI 2024-04-04 00:19:57 +02:00
Sylvestre Ledru b801c97830 Merge pull request #349 from sylvestre/clipp2
Run clippy pedantic fixes on the recent changes
2024-04-04 00:19:48 +02:00
Sylvestre Ledru da0de660ae Run clippy pedantic fixes on the recent changes 2024-04-03 23:23:40 +02:00
hanbings 49d870d27d find: Implement -newerXY (#342) 2024-04-03 18:56:58 +02:00
Daniel Hofstetter 450c4aeefc Merge pull request #348 from sylvestre/clippy
Run clippy pedantic fixes
2024-04-03 17:57:10 +02:00
Sylvestre Ledru b4fbbe50c2 Run clippy pedantic fixes
Done with:
$ cargo +nightly clippy --tests --fix --allow-dirty -- -W clippy::pedantic
2024-04-03 17:50:13 +02:00
Daniel Hofstetter da968c058b Merge pull request #345 from uutils/dependabot/github_actions/KyleMayes/install-llvm-action-2
build(deps): bump KyleMayes/install-llvm-action from 1 to 2
2024-04-03 15:04:49 +02:00
dependabot[bot] 65b1c4099a build(deps): bump KyleMayes/install-llvm-action from 1 to 2
Bumps [KyleMayes/install-llvm-action](https://github.com/kylemayes/install-llvm-action) from 1 to 2.
- [Release notes](https://github.com/kylemayes/install-llvm-action/releases)
- [Changelog](https://github.com/KyleMayes/install-llvm-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kylemayes/install-llvm-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: KyleMayes/install-llvm-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-03 12:58:26 +00:00
Daniel Hofstetter 05d82cee36 Merge pull request #323 from sylvestre/replace
xargs: Implement replace / -I (Closes: #310)
2024-04-03 14:38:01 +02:00
Terts Diepraam ef9c382464 docs: initial version of mdbook (#347)
* docs: initial version of mdbook

* docs: fix typo in CONTRIBUTING.md

---------

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
2024-04-03 07:50:24 +02:00
Sylvestre Ledru 45c1938eef xargs: add more tests and priority 2024-04-02 21:37:59 +02:00
Sylvestre Ledru a123a94c7d Improve the help
Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
2024-04-02 19:11:00 +02:00
Sylvestre Ledru 21e15c3015 xargs -I: support -i/-I add a corner case test 2024-04-02 19:11:00 +02:00
Sylvestre Ledru 299973809a xargs -I: support -i/-I different behavior 2024-04-02 19:11:00 +02:00
Sylvestre Ledru 90cee0fe37 Fix long line
Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
2024-04-02 19:11:00 +02:00
Sylvestre Ledru 0c2bb89770 tests: improve test output in case of error 2024-04-02 19:11:00 +02:00
Sylvestre Ledru e64c69a703 use pretty_assertions 2024-04-02 19:11:00 +02:00
Sylvestre Ledru 9b3514a100 xargs: Implement -I to replace (Closes: #310) 2024-04-02 19:11:00 +02:00
Sylvestre Ledru a85f5d7e01 parse_delimiter: Make the code more idiomatic 2024-04-02 19:11:00 +02:00
Sylvestre Ledru 274d749f8d Merge pull request #346 from cakebaker/ci_name_upload_steps
ci: name upload steps
2024-04-02 18:05:15 +02:00
Daniel Hofstetter 375c80e178 ci: name upload steps 2024-04-02 15:25:02 +02:00
Sylvestre Ledru 5360d01b08 Merge pull request #343 from cakebaker/xargs_max_lines
xargs: add --max-lines
2024-03-28 22:29:11 +01:00
Daniel Hofstetter 28a6e6c163 Merge pull request #344 from uutils/dependabot/cargo/chrono-0.4.37
build(deps): bump chrono from 0.4.35 to 0.4.37
2024-03-28 07:01:47 +01:00
dependabot[bot] c8249b46ff build(deps): bump chrono from 0.4.35 to 0.4.37
Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.35 to 0.4.37.
- [Release notes](https://github.com/chronotope/chrono/releases)
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md)
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.35...v0.4.37)

---
updated-dependencies:
- dependency-name: chrono
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-28 03:58:33 +00:00
Daniel Hofstetter bb71ee31a5 xargs: add --max-lines 2024-03-27 16:45:35 +01:00
Terts Diepraam 626fe1325d Merge pull request #341 from cakebaker/remove_extern_crate
tests: remove "extern crate x"
2024-03-26 16:21:49 +01:00
Daniel Hofstetter 55f297fd88 tests: remove "extern crate x" 2024-03-26 16:14:24 +01:00
Daniel Hofstetter dbeeca19ab Merge pull request #340 from uutils/dependabot/cargo/clap-4.5.4
build(deps): bump clap from 4.5.3 to 4.5.4
2024-03-26 07:40:54 +01:00
dependabot[bot] 5d3ff98a23 build(deps): bump clap from 4.5.3 to 4.5.4
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.3 to 4.5.4.
- [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.5.3...v4.5.4)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-26 03:40:09 +00:00
Sylvestre Ledru 49227dfe57 Merge pull request #339 from cakebaker/cargo_toml_specify_complete_chrono_version
Cargo.toml: specify complete chrono version
2024-03-25 11:10:23 +01:00
Sylvestre Ledru 67e279e986 README: add badges + bfs info (#337)
* README: add badges + bfs info

* fix typo

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>

* list all programs

* README: fix typo

---------

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
2024-03-25 11:02:27 +01:00
Daniel Hofstetter 82adc2022d Cargo.toml: specify complete chrono version 2024-03-25 10:50:57 +01:00
Daniel Hofstetter 44c73fa8a7 Merge pull request #336 from uutils/dependabot/cargo/uucore-0.0.25
build(deps): bump uucore from 0.0.24 to 0.0.25
2024-03-25 07:20:08 +01:00
dependabot[bot] 66f3a570c6 build(deps): bump uucore from 0.0.24 to 0.0.25
Bumps [uucore](https://github.com/uutils/coreutils) from 0.0.24 to 0.0.25.
- [Release notes](https://github.com/uutils/coreutils/releases)
- [Commits](https://github.com/uutils/coreutils/compare/0.0.24...0.0.25)

---
updated-dependencies:
- dependency-name: uucore
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-25 03:24:52 +00:00
Sylvestre Ledru 27b4bf5bb2 Merge pull request #335 from cakebaker/find_fix_clippy_warnings
find: fix two clippy warnings
2024-03-23 09:09:21 +01:00
Daniel Hofstetter f10a2e0d8d find: fix two clippy warnings 2024-03-23 08:19:05 +01:00
Sylvestre Ledru ae280f7751 Merge pull request #334 from tavianator/bfs-3.1.3
ci: Update bfs to 3.1.3
2024-03-19 18:41:53 +01:00
Tavian Barnes 5cbb3142e0 ci: Update bfs to 3.1.3 2024-03-19 13:29:08 -04:00
Daniel Hofstetter 3626fe14f0 Merge pull request #333 from uutils/dependabot/cargo/clap-4.5.3
build(deps): bump clap from 4.5.2 to 4.5.3
2024-03-18 07:07:35 +01:00
dependabot[bot] c85ebb1165 build(deps): bump clap from 4.5.2 to 4.5.3
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.2 to 4.5.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/v4.5.2...v4.5.3)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-18 03:17:48 +00:00
Sylvestre Ledru f7ccc76991 Merge pull request #332 from uutils/dependabot/cargo/clap-4.5.2
build(deps): bump clap from 4.4.18 to 4.5.2
2024-03-15 10:06:20 +01:00
dependabot[bot] 2167cd1c45 build(deps): bump clap from 4.4.18 to 4.5.2
Bumps [clap](https://github.com/clap-rs/clap) from 4.4.18 to 4.5.2.
- [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.4.18...v4.5.2)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-14 16:02:54 +00:00
Sylvestre Ledru ce2ca6b0ce Merge pull request #331 from cakebaker/upgrade_to_clap_v4_4
xargs: upgrade to clap v4.4
2024-03-14 17:02:13 +01:00
Daniel Hofstetter e66a7c1df5 xargs: adapt code to clap changes 2024-03-14 16:52:40 +01:00
Daniel Hofstetter 3e40c1673b Bump clap from 2.34 to 4.4.18 2024-03-08 16:34:27 +01:00
Daniel Hofstetter 6dec8048fb Merge pull request #330 from uutils/dependabot/cargo/chrono-0.4.35
build(deps): bump chrono from 0.4.34 to 0.4.35
2024-03-07 08:25:22 +01:00
dependabot[bot] b68050c245 build(deps): bump chrono from 0.4.34 to 0.4.35
Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.34 to 0.4.35.
- [Release notes](https://github.com/chronotope/chrono/releases)
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md)
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.34...v0.4.35)

---
updated-dependencies:
- dependency-name: chrono
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-07 03:19:35 +00:00
Daniel Hofstetter 74142a392d Merge pull request #329 from uutils/dependabot/cargo/walkdir-2.5.0
build(deps): bump walkdir from 2.4.0 to 2.5.0
2024-03-04 07:56:00 +01:00
dependabot[bot] 229117392e build(deps): bump walkdir from 2.4.0 to 2.5.0
Bumps [walkdir](https://github.com/BurntSushi/walkdir) from 2.4.0 to 2.5.0.
- [Commits](https://github.com/BurntSushi/walkdir/compare/2.4.0...2.5.0)

---
updated-dependencies:
- dependency-name: walkdir
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-04 04:00:18 +00:00
Sylvestre Ledru e770b985ee Merge pull request #327 from cakebaker/bump_nix
Bump nix from 0.27 to 0.28 & enable "fs" feature
2024-02-27 10:32:02 +01:00
Sylvestre Ledru f442349913 Merge pull request #326 from cakebaker/find_fix_imported_redundantly_warnings
find: fix "item x imported redundantly" warnings
2024-02-27 10:31:44 +01:00
Daniel Hofstetter af3a56939c Merge pull request #328 from uutils/dependabot/cargo/tempfile-3.10.1
build(deps): bump tempfile from 3.10.0 to 3.10.1
2024-02-27 06:59:44 +01:00
dependabot[bot] 4e1a87d44d build(deps): bump tempfile from 3.10.0 to 3.10.1
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.10.0 to 3.10.1.
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.10.0...v3.10.1)

---
updated-dependencies:
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-27 03:46:44 +00:00
Daniel Hofstetter 579fa97607 Bump nix from 0.27 to 0.28 & enable "fs" feature 2024-02-26 14:40:17 +01:00
Daniel Hofstetter f2bf4b0fd9 find: fix "item x imported redundantly" warnings 2024-02-26 09:47:24 +01:00
Sylvestre Ledru 30302305fd Merge pull request #321 from cakebaker/xargs_rename_size_to_max_chars
xargs: rename `--size` to `--max-chars`
2024-02-25 18:47:56 +01:00
Daniel Hofstetter b87d04b51b xargs: rename --size to --max-chars 2024-02-21 15:28:46 +01:00
Sylvestre Ledru a573202814 Merge pull request #319 from cakebaker/bump_clap
Bump clap from 4.4.6 to 4.4.18
2024-02-21 11:23:35 +01:00
Sylvestre Ledru 35fe84ea85 Merge pull request #318 from cakebaker/xargs_remove_unnecessary_else_blocks
xargs: remove unnecessary else blocks
2024-02-21 11:15:50 +01:00
Sylvestre Ledru 75bede0a4c Merge pull request #320 from cakebaker/ci_codecov_token
ci: update codecov-action to v4 & use token
2024-02-21 11:15:29 +01:00
Daniel Hofstetter 94c5227aae ci: update codecov-action to v4 & use token 2024-02-21 10:58:07 +01:00
Daniel Hofstetter e3e20c9c02 xargs: remove unnecessary else blocks 2024-02-21 10:27:04 +01:00
Daniel Hofstetter 373b544c3b Bump clap from 4.4.6 to 4.4.18 2024-02-21 10:10:53 +01:00
Sylvestre Ledru bb562a0ff3 Merge pull request #316 from cakebaker/bump_parking_lot_core
Bump parking_lot_core from 0.9.3 to 0.9.9
2024-02-20 17:45:54 +01:00
Sylvestre Ledru 46f43b5cd3 Merge pull request #315 from cakebaker/fix_deprecated_warnings_from_chrono
Fix deprecation warnings from `chrono` in test
2024-02-20 17:30:00 +01:00
Sylvestre Ledru 1add1f6859 Merge pull request #317 from cakebaker/bump_wasm_bindgen
Bump wasm-bindgen from 0.2.82 to 0.2.91
2024-02-20 17:29:52 +01:00
Daniel Hofstetter 395636d779 Bump wasm-bindgen from 0.2.82 to 0.2.91 2024-02-20 16:22:31 +01:00
Daniel Hofstetter fd2dede6e3 Bump parking_lot_core from 0.9.3 to 0.9.9 2024-02-20 15:59:11 +01:00
Daniel Hofstetter b0b43cc321 Fix deprecation warnings from chrono in test 2024-02-20 15:19:39 +01:00
Sylvestre Ledru 1bc7d774bb Merge pull request #314 from cakebaker/use_2021_edition
Cargo.toml: use 2021 edition
2024-02-20 10:51:26 +01:00
Daniel Hofstetter 4e7e8c43a1 Cargo.toml: use 2021 edition 2024-02-20 10:45:18 +01:00
Sylvestre Ledru 3ee8744a0e Merge pull request #312 from uutils/dependabot/cargo/assert_cmd-2.0.14
build(deps): bump assert_cmd from 2.0.13 to 2.0.14
2024-02-20 10:30:10 +01:00
Sylvestre Ledru e8f993fee7 Merge pull request #300 from uutils/dependabot/cargo/serial_test-3.0.0
build(deps): bump serial_test from 2.0.0 to 3.0.0
2024-02-20 10:29:55 +01:00
Sylvestre Ledru 5265f4ff4c Merge pull request #313 from cakebaker/set_default_features_false_for_onig
Cargo.toml: set "default-features = false" for onig
2024-02-20 10:28:43 +01:00
Daniel Hofstetter faf735866c Cargo.toml: set "default-features=false" for onig 2024-02-20 09:49:42 +01:00
dependabot[bot] 148af7b48d build(deps): bump assert_cmd from 2.0.13 to 2.0.14
Bumps [assert_cmd](https://github.com/assert-rs/assert_cmd) from 2.0.13 to 2.0.14.
- [Changelog](https://github.com/assert-rs/assert_cmd/blob/master/CHANGELOG.md)
- [Commits](https://github.com/assert-rs/assert_cmd/compare/v2.0.13...v2.0.14)

---
updated-dependencies:
- dependency-name: assert_cmd
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-20 03:23:51 +00:00
Daniel Hofstetter ae6143f659 Merge pull request #309 from uutils/dependabot/cargo/tempfile-3.10.0
build(deps): bump tempfile from 3.9.0 to 3.10.0
2024-02-12 09:19:07 +01:00
Daniel Hofstetter 3322f87c0c Merge pull request #311 from uutils/dependabot/cargo/chrono-0.4.34
build(deps): bump chrono from 0.4.33 to 0.4.34
2024-02-12 09:01:35 +01:00
dependabot[bot] c2787ad3a2 build(deps): bump chrono from 0.4.33 to 0.4.34
Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.33 to 0.4.34.
- [Release notes](https://github.com/chronotope/chrono/releases)
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md)
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.33...v0.4.34)

---
updated-dependencies:
- dependency-name: chrono
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-12 03:04:45 +00:00
dependabot[bot] 590ef28f76 build(deps): bump tempfile from 3.9.0 to 3.10.0
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.9.0 to 3.10.0.
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.9.0...v3.10.0)

---
updated-dependencies:
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-06 03:03:03 +00:00
Daniel Hofstetter 5caf6da061 Merge pull request #306 from uutils/dependabot/cargo/chrono-0.4.33
build(deps): bump chrono from 0.4.32 to 0.4.33
2024-01-26 07:02:44 +01:00
dependabot[bot] 261b29acfc build(deps): bump chrono from 0.4.32 to 0.4.33
Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.32 to 0.4.33.
- [Release notes](https://github.com/chronotope/chrono/releases)
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md)
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.32...v0.4.33)

---
updated-dependencies:
- dependency-name: chrono
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-26 03:23:57 +00:00
Daniel Hofstetter 31d6af8d62 Merge pull request #305 from uutils/dependabot/cargo/uucore-0.0.24
build(deps): bump uucore from 0.0.23 to 0.0.24
2024-01-25 07:14:03 +01:00
dependabot[bot] 96ee3419c9 build(deps): bump uucore from 0.0.23 to 0.0.24
Bumps [uucore](https://github.com/uutils/coreutils) from 0.0.23 to 0.0.24.
- [Release notes](https://github.com/uutils/coreutils/releases)
- [Commits](https://github.com/uutils/coreutils/compare/0.0.23...0.0.24)

---
updated-dependencies:
- dependency-name: uucore
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-25 03:54:03 +00:00
Daniel Hofstetter 428a507c24 Merge pull request #303 from uutils/dependabot/cargo/shlex-1.3.0
build(deps): bump shlex from 1.1.0 to 1.3.0
2024-01-23 07:06:04 +01:00
Daniel Hofstetter 090808edeb Merge pull request #304 from uutils/dependabot/cargo/chrono-0.4.32
build(deps): bump chrono from 0.4.31 to 0.4.32
2024-01-23 07:04:36 +01:00
dependabot[bot] e2a589e02b build(deps): bump chrono from 0.4.31 to 0.4.32
Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.31 to 0.4.32.
- [Release notes](https://github.com/chronotope/chrono/releases)
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md)
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.31...v0.4.32)

---
updated-dependencies:
- dependency-name: chrono
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-23 03:10:44 +00:00
dependabot[bot] 72efca3e3c build(deps): bump shlex from 1.1.0 to 1.3.0
Bumps [shlex](https://github.com/comex/rust-shlex) from 1.1.0 to 1.3.0.
- [Changelog](https://github.com/comex/rust-shlex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/comex/rust-shlex/commits)

---
updated-dependencies:
- dependency-name: shlex
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-22 21:41:57 +00:00
Daniel Hofstetter b86ad63430 Merge pull request #302 from uutils/dependabot/cargo/predicates-3.1.0
build(deps): bump predicates from 3.0.4 to 3.1.0
2024-01-16 06:52:52 +01:00
dependabot[bot] 11ded4b603 build(deps): bump predicates from 3.0.4 to 3.1.0
Bumps [predicates](https://github.com/assert-rs/predicates-rs) from 3.0.4 to 3.1.0.
- [Changelog](https://github.com/assert-rs/predicates-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/assert-rs/predicates-rs/compare/v3.0.4...v3.1.0)

---
updated-dependencies:
- dependency-name: predicates
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-16 03:19:56 +00:00
Daniel Hofstetter 691fd77492 Merge pull request #301 from uutils/dependabot/cargo/assert_cmd-2.0.13
build(deps): bump assert_cmd from 2.0.12 to 2.0.13
2024-01-12 06:57:57 +01:00
dependabot[bot] 5e9f407d3a build(deps): bump assert_cmd from 2.0.12 to 2.0.13
Bumps [assert_cmd](https://github.com/assert-rs/assert_cmd) from 2.0.12 to 2.0.13.
- [Changelog](https://github.com/assert-rs/assert_cmd/blob/master/CHANGELOG.md)
- [Commits](https://github.com/assert-rs/assert_cmd/compare/v2.0.12...v2.0.13)

---
updated-dependencies:
- dependency-name: assert_cmd
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-12 03:49:44 +00:00
dependabot[bot] 180c36894a build(deps): bump serial_test from 2.0.0 to 3.0.0
Bumps [serial_test](https://github.com/palfrey/serial_test) from 2.0.0 to 3.0.0.
- [Release notes](https://github.com/palfrey/serial_test/releases)
- [Commits](https://github.com/palfrey/serial_test/compare/v2.0.0...v3.0.0)

---
updated-dependencies:
- dependency-name: serial_test
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-08 03:35:29 +00:00
Sylvestre Ledru 317fd90d58 Merge pull request #299 from uutils/dependabot/cargo/tempfile-3.9.0
build(deps): bump tempfile from 3.8.1 to 3.9.0
2023-12-28 09:56:13 +01:00
dependabot[bot] 7775f47022 build(deps): bump tempfile from 3.8.1 to 3.9.0
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.8.1 to 3.9.0.
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.8.1...v3.9.0)

---
updated-dependencies:
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-28 03:53:21 +00:00
Daniel Hofstetter a2506d236a Merge pull request #298 from uutils/dependabot/github_actions/actions/upload-artifact-4
build(deps): bump actions/upload-artifact from 3 to 4
2023-12-15 06:57:20 +01:00
dependabot[bot] bc57faabdb build(deps): bump actions/upload-artifact from 3 to 4
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-15 03:43:27 +00:00
Sylvestre Ledru 3cdf5778f2 Merge pull request #294 from uutils/dependabot/cargo/uucore-0.0.23
build(deps): bump uucore from 0.0.22 to 0.0.23
2023-12-14 10:56:02 +01:00
dependabot[bot] da77a1860e build(deps): bump uucore from 0.0.22 to 0.0.23
Bumps [uucore](https://github.com/uutils/coreutils) from 0.0.22 to 0.0.23.
- [Release notes](https://github.com/uutils/coreutils/releases)
- [Commits](https://github.com/uutils/coreutils/compare/0.0.22...0.0.23)

---
updated-dependencies:
- dependency-name: uucore
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-14 08:51:12 +00:00
Sylvestre Ledru 275514ea60 Merge pull request #293 from uutils/dependabot/cargo/tempfile-3.8.1
build(deps): bump tempfile from 3.8.0 to 3.8.1
2023-12-14 09:50:35 +01:00
Sylvestre Ledru bcee1f5387 Merge pull request #295 from uutils/dependabot/cargo/filetime-0.2.23
build(deps): bump filetime from 0.2.22 to 0.2.23
2023-12-14 09:50:12 +01:00
Sylvestre Ledru 90ce7c120a Merge pull request #296 from uutils/dependabot/cargo/once_cell-1.19.0
build(deps): bump once_cell from 1.18.0 to 1.19.0
2023-12-14 09:50:06 +01:00
Sylvestre Ledru 6d3fe42ca8 Merge pull request #297 from uutils/dependabot/github_actions/dawidd6/action-download-artifact-3
build(deps): bump dawidd6/action-download-artifact from 2 to 3
2023-12-14 09:49:55 +01:00
dependabot[bot] 2f60b3fc47 build(deps): bump dawidd6/action-download-artifact from 2 to 3
Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact) from 2 to 3.
- [Release notes](https://github.com/dawidd6/action-download-artifact/releases)
- [Commits](https://github.com/dawidd6/action-download-artifact/compare/v2...v3)

---
updated-dependencies:
- dependency-name: dawidd6/action-download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-14 03:25:56 +00:00
dependabot[bot] cc13e94908 build(deps): bump once_cell from 1.18.0 to 1.19.0
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.18.0 to 1.19.0.
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md)
- [Commits](https://github.com/matklad/once_cell/compare/v1.18.0...v1.19.0)

---
updated-dependencies:
- dependency-name: once_cell
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-08 03:59:17 +00:00
dependabot[bot] 411fbe521e build(deps): bump filetime from 0.2.22 to 0.2.23
Bumps [filetime](https://github.com/alexcrichton/filetime) from 0.2.22 to 0.2.23.
- [Commits](https://github.com/alexcrichton/filetime/compare/0.2.22...0.2.23)

---
updated-dependencies:
- dependency-name: filetime
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-06 03:29:29 +00:00
dependabot[bot] 4961570278 build(deps): bump tempfile from 3.8.0 to 3.8.1
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.8.0 to 3.8.1.
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/commits)

---
updated-dependencies:
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-27 03:56:17 +00:00
Sylvestre Ledru 4aa4b80133 Merge pull request #279 from uutils/dependabot/cargo/nix-0.27.1
build(deps): bump nix from 0.26.2 to 0.27.1
2023-10-16 09:11:27 +02:00
dependabot[bot] 27acdee574 build(deps): bump nix from 0.26.2 to 0.27.1
Bumps [nix](https://github.com/nix-rust/nix) from 0.26.2 to 0.27.1.
- [Changelog](https://github.com/nix-rust/nix/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nix-rust/nix/compare/v0.26.2...v0.27.1)

---
updated-dependencies:
- dependency-name: nix
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-16 06:11:07 +00:00
Sylvestre Ledru c7abe333e1 Merge pull request #289 from uutils/dependabot/cargo/predicates-3.0.4
build(deps): bump predicates from 3.0.3 to 3.0.4
2023-10-16 07:58:37 +02:00
Sylvestre Ledru c62ecca6d6 Merge pull request #291 from uutils/dependabot/cargo/uucore-0.0.22
build(deps): bump uucore from 0.0.21 to 0.0.22
2023-10-16 07:58:19 +02:00
dependabot[bot] 144561624a build(deps): bump uucore from 0.0.21 to 0.0.22
Bumps [uucore](https://github.com/uutils/coreutils) from 0.0.21 to 0.0.22.
- [Release notes](https://github.com/uutils/coreutils/releases)
- [Commits](https://github.com/uutils/coreutils/compare/0.0.21...0.0.22)

---
updated-dependencies:
- dependency-name: uucore
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-16 03:50:28 +00:00
Sylvestre Ledru 635357271d Merge pull request #290 from tavianator/bfs-3.0.3
ci: Update bfs to 3.0.3
2023-10-13 09:04:31 +02:00
Tavian Barnes be8adfa390 ci: Update bfs to 3.0.3 2023-10-12 22:47:11 -04:00
dependabot[bot] f6ddeac9fa build(deps): bump predicates from 3.0.3 to 3.0.4
Bumps [predicates](https://github.com/assert-rs/predicates-rs) from 3.0.3 to 3.0.4.
- [Changelog](https://github.com/assert-rs/predicates-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/assert-rs/predicates-rs/compare/v3.0.3...v3.0.4)

---
updated-dependencies:
- dependency-name: predicates
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-19 03:27:01 +00:00
Sylvestre Ledru 7ad3e83c93 Merge pull request #288 from uutils/dependabot/cargo/chrono-0.4.31
build(deps): bump chrono from 0.4.29 to 0.4.31
2023-09-18 08:17:41 +02:00
dependabot[bot] dc6b49fef4 build(deps): bump chrono from 0.4.29 to 0.4.31
Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.29 to 0.4.31.
- [Release notes](https://github.com/chronotope/chrono/releases)
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md)
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.29...v0.4.31)

---
updated-dependencies:
- dependency-name: chrono
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-18 03:08:17 +00:00
Sylvestre Ledru 4004ecece5 Merge pull request #285 from uutils/dependabot/cargo/chrono-0.4.29
build(deps): bump chrono from 0.4.28 to 0.4.29
2023-09-06 08:57:07 +02:00
Sylvestre Ledru bc67d93991 Merge pull request #284 from uutils/dependabot/cargo/walkdir-2.4.0
build(deps): bump walkdir from 2.3.3 to 2.4.0
2023-09-06 08:57:00 +02:00
dependabot[bot] fe5e6bc951 build(deps): bump chrono from 0.4.28 to 0.4.29
Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.28 to 0.4.29.
- [Release notes](https://github.com/chronotope/chrono/releases)
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md)
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.28...v0.4.29)

---
updated-dependencies:
- dependency-name: chrono
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-06 03:31:14 +00:00
dependabot[bot] f3d546af04 build(deps): bump walkdir from 2.3.3 to 2.4.0
Bumps [walkdir](https://github.com/BurntSushi/walkdir) from 2.3.3 to 2.4.0.
- [Commits](https://github.com/BurntSushi/walkdir/compare/2.3.3...2.4.0)

---
updated-dependencies:
- dependency-name: walkdir
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-06 03:31:01 +00:00
Sylvestre Ledru abb523d928 Merge pull request #281 from uutils/dependabot/cargo/chrono-0.4.28
build(deps): bump chrono from 0.4.26 to 0.4.28
2023-09-05 10:24:09 +02:00
Sylvestre Ledru 5f6d463688 Merge pull request #271 from uutils/dependabot/cargo/filetime-0.2.22
build(deps): bump filetime from 0.2.21 to 0.2.22
2023-09-05 10:23:45 +02:00
Sylvestre Ledru fc6eb6f0b1 Merge pull request #272 from jellehelsen/fix-223
Fix clippy warning on 'format!' strings
2023-09-05 10:23:22 +02:00
Sylvestre Ledru c9a78ed148 Merge pull request #276 from uutils/dependabot/cargo/tempfile-3.8.0
build(deps): bump tempfile from 3.7.0 to 3.8.0
2023-09-05 10:23:05 +02:00
Sylvestre Ledru 748373600d Merge pull request #282 from uutils/dependabot/cargo/uucore-0.0.21
build(deps): bump uucore from 0.0.20 to 0.0.21
2023-09-05 10:22:47 +02:00
Sylvestre Ledru 08dfc988bd Merge pull request #283 from uutils/dependabot/github_actions/actions/checkout-4
build(deps): bump actions/checkout from 3 to 4
2023-09-05 10:22:32 +02:00
dependabot[bot] db301dda4c build(deps): bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-05 03:28:15 +00:00
dependabot[bot] fc4190887c build(deps): bump uucore from 0.0.20 to 0.0.21
Bumps [uucore](https://github.com/uutils/coreutils) from 0.0.20 to 0.0.21.
- [Release notes](https://github.com/uutils/coreutils/releases)
- [Commits](https://github.com/uutils/coreutils/compare/0.0.20...0.0.21)

---
updated-dependencies:
- dependency-name: uucore
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-05 03:27:37 +00:00
dependabot[bot] c47b1bb9b5 build(deps): bump chrono from 0.4.26 to 0.4.28
Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.26 to 0.4.28.
- [Release notes](https://github.com/chronotope/chrono/releases)
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md)
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.26...v0.4.28)

---
updated-dependencies:
- dependency-name: chrono
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-31 03:44:13 +00:00
Sylvestre Ledru 44d17814f6 Merge pull request #278 from uutils/oranda-setup
website: fix changelog config
2023-08-28 05:47:09 -04:00
Terts Diepraam 3588ef3e9a website: fix changelog config 2023-08-28 10:37:48 +02:00
dependabot[bot] c2bf7158c2 build(deps): bump tempfile from 3.7.0 to 3.8.0
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.7.0 to 3.8.0.
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.7.0...v3.8.0)

---
updated-dependencies:
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-21 03:17:08 +00:00
Terts Diepraam 84bb98791e Merge pull request #275 from uutils/oranda-setup
website: fix `path_prefix` in oranda
2023-08-20 12:01:45 +02:00
Terts Diepraam 018fa55ece website: fix path_prefix 2023-08-20 11:51:49 +02:00
Sylvestre Ledru 27322a9819 Merge pull request #274 from uutils/oranda-setup
initial oranda setup
2023-08-19 19:47:21 +02:00
Terts Diepraam b2a74e221c initial oranda setup 2023-08-19 19:34:30 +02:00
Jelle Helsen 6068512549 added some tests to improve coverage 2023-08-13 21:27:46 +02:00
Jelle Helsen d7c62ed05c Fix clippy warning on 'format!' strings
Should fix #223
2023-08-10 21:23:14 +02:00
dependabot[bot] d86efa7478 build(deps): bump filetime from 0.2.21 to 0.2.22
Bumps [filetime](https://github.com/alexcrichton/filetime) from 0.2.21 to 0.2.22.
- [Commits](https://github.com/alexcrichton/filetime/compare/0.2.21...0.2.22)

---
updated-dependencies:
- dependency-name: filetime
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-07 03:22:03 +00:00
Sylvestre Ledru bdc18fd002 Merge pull request #268 from uutils/dependabot/cargo/assert_cmd-2.0.12
build(deps): bump assert_cmd from 2.0.11 to 2.0.12
2023-07-24 09:24:34 +02:00
Sylvestre Ledru 484e5f073a Merge pull request #269 from uutils/dependabot/cargo/tempfile-3.7.0
build(deps): bump tempfile from 3.6.0 to 3.7.0
2023-07-24 09:24:25 +02:00
dependabot[bot] efaa85be39 build(deps): bump tempfile from 3.6.0 to 3.7.0
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.6.0 to 3.7.0.
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.6.0...v3.7.0)

---
updated-dependencies:
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-24 03:02:35 +00:00
dependabot[bot] 7f1c191854 build(deps): bump assert_cmd from 2.0.11 to 2.0.12
Bumps [assert_cmd](https://github.com/assert-rs/assert_cmd) from 2.0.11 to 2.0.12.
- [Changelog](https://github.com/assert-rs/assert_cmd/blob/master/CHANGELOG.md)
- [Commits](https://github.com/assert-rs/assert_cmd/compare/v2.0.11...v2.0.12)

---
updated-dependencies:
- dependency-name: assert_cmd
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-24 03:02:31 +00:00
Sylvestre Ledru c6a8a799d3 New release (0.4.2) 2023-07-23 19:17:55 +02:00
Sylvestre Ledru 7e98dbcf03 Merge pull request #267 from sylvestre/ci
CI: test all features
2023-07-23 16:07:47 +02:00
Sylvestre Ledru a53099b8f1 CI: test all features 2023-07-23 15:53:45 +02:00
Sylvestre Ledru b5f2d3a8cf Merge pull request #265 from sylvestre/uucore
move to uucore 0.0.20
2023-07-23 13:01:10 +02:00
Sylvestre Ledru a5f720874a rustfmt the recent change 2023-07-23 12:53:50 +02:00
Sylvestre Ledru 329a4fd622 move to uucore 0.0.20 2023-07-23 10:42:05 +02:00
Sylvestre Ledru c4f7872cab Merge pull request #264 from sylvestre/travis
Remove the travis configuration as we don't use it
2023-07-23 10:26:16 +02:00
Sylvestre Ledru 67f56fea8c Remove the travis configuration as we don't use it 2023-07-23 10:05:27 +02:00
Sylvestre Ledru 27bf2d2d26 Merge pull request #263 from sylvestre/appveyor
Remove appveyor configuration
2023-07-23 09:40:43 +02:00
Sylvestre Ledru c55e2caade Merge pull request #245 from uutils/dependabot/cargo/predicates-3.0.3
build(deps): bump predicates from 3.0.2 to 3.0.3
2023-07-23 08:47:37 +02:00
Sylvestre Ledru 55dad3745e Merge pull request #249 from uutils/dependabot/cargo/chrono-0.4.26
build(deps): bump chrono from 0.4.24 to 0.4.26
2023-07-23 08:47:21 +02:00
Sylvestre Ledru 249b6eedcf Remove appveyor configuration 2023-07-23 08:46:46 +02:00
Sylvestre Ledru c464e8ff1f Merge pull request #250 from uutils/dependabot/cargo/once_cell-1.18.0
build(deps): bump once_cell from 1.17.1 to 1.18.0
2023-07-23 08:45:50 +02:00
dependabot[bot] fa976740e9 build(deps): bump chrono from 0.4.24 to 0.4.26
Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.24 to 0.4.26.
- [Release notes](https://github.com/chronotope/chrono/releases)
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md)
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.24...v0.4.26)

---
updated-dependencies:
- dependency-name: chrono
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-12 11:52:30 +00:00
dependabot[bot] 1cbc975b33 build(deps): bump once_cell from 1.17.1 to 1.18.0
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.17.1 to 1.18.0.
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md)
- [Commits](https://github.com/matklad/once_cell/compare/v1.17.1...v1.18.0)

---
updated-dependencies:
- dependency-name: once_cell
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-13 03:57:30 +00:00
dependabot[bot] abdd86c63d build(deps): bump predicates from 3.0.2 to 3.0.3
Bumps [predicates](https://github.com/assert-rs/predicates-rs) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/assert-rs/predicates-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/assert-rs/predicates-rs/compare/v3.0.2...v3.0.3)

---
updated-dependencies:
- dependency-name: predicates
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-12 06:48:39 +00:00
61 changed files with 6226 additions and 1488 deletions
-23
View File
@@ -1,23 +0,0 @@
os: Visual Studio 2015
version: "{build}"
environment:
matrix:
- channel: stable
target: x86_64-pc-windows-msvc
- channel: nightly
target: x86_64-pc-windows-msvc
install:
- appveyor DownloadFile https://win.rustup.rs/ -FileName rustup-init.exe
- rustup-init -yv --default-toolchain %channel% --default-host %target%
- set PATH=%PATH%;%USERPROFILE%\.cargo\bin
- rustc -vV && cargo -vV
build_script:
- cargo build --verbose
test_script:
- cargo test --verbose
+16 -15
View File
@@ -10,7 +10,7 @@ jobs:
matrix:
os: [ubuntu-latest, macOS-latest, windows-latest]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Install `rust` toolchain
run: |
## Install `rust` toolchain
@@ -18,7 +18,7 @@ jobs:
rustup default stable
# For bindgen: https://github.com/rust-lang/rust-bindgen/issues/1797
- uses: KyleMayes/install-llvm-action@v1
- uses: KyleMayes/install-llvm-action@v2
if: matrix.os == 'windows-latest'
with:
version: "11.0"
@@ -28,7 +28,7 @@ jobs:
- name: Check
run: |
cargo check
cargo check --all --all-features
test:
name: cargo test
@@ -37,7 +37,7 @@ jobs:
matrix:
os: [ubuntu-latest, macOS-latest, windows-latest]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Install `rust` toolchain
run: |
## Install `rust` toolchain
@@ -45,7 +45,7 @@ jobs:
rustup default stable
# For bindgen: https://github.com/rust-lang/rust-bindgen/issues/1797
- uses: KyleMayes/install-llvm-action@v1
- uses: KyleMayes/install-llvm-action@v2
if: matrix.os == 'windows-latest'
with:
version: "11.0"
@@ -53,15 +53,15 @@ jobs:
- run: echo "LIBCLANG_PATH=$((gcm clang).source -replace "clang.exe")" >> $env:GITHUB_ENV
if: matrix.os == 'windows-latest'
- name: Check
- name: Test
run: |
cargo check
cargo test
fmt:
name: cargo fmt --all -- --check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Install `rust` toolchain
run: |
## Install `rust` toolchain
@@ -77,7 +77,7 @@ jobs:
name: cargo clippy -- -D warnings
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Install `rust` toolchain
run: |
## Install `rust` toolchain
@@ -86,7 +86,7 @@ jobs:
- run: rustup component add clippy
- name: cargo clippy
run: |
cargo clippy -- -D warnings
cargo clippy --all-targets -- -D warnings
grcov:
name: Code coverage
@@ -101,7 +101,7 @@ jobs:
- "--all-features"
steps:
- name: Checkout source code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install `rust` toolchain
run: |
@@ -117,8 +117,8 @@ jobs:
cargo test --all --no-fail-fast ${{ matrix.cargo_flags }}
env:
CARGO_INCREMENTAL: "0"
RUSTFLAGS: '-Zprofile -Ccodegen-units=1 -Copt-level=0 -Clink-dead-code -Coverflow-checks=off -Zpanic_abort_tests -Cpanic=abort -Cdebug-assertions=off'
RUSTDOCFLAGS: '-Zprofile -Ccodegen-units=1 -Copt-level=0 -Clink-dead-code -Coverflow-checks=off -Zpanic_abort_tests -Cpanic=abort -Cdebug-assertions=off'
RUSTFLAGS: "-Zprofile -Ccodegen-units=1 -Copt-level=0 -Clink-dead-code -Coverflow-checks=off -Zpanic_abort_tests -Cpanic=abort -Cdebug-assertions=off"
RUSTDOCFLAGS: "-Zprofile -Ccodegen-units=1 -Copt-level=0 -Clink-dead-code -Coverflow-checks=off -Zpanic_abort_tests -Cpanic=abort -Cdebug-assertions=off"
- name: Generate coverage data
id: grcov
@@ -138,15 +138,16 @@ jobs:
--service-name "GitHub Actions" \
--service-number ${{ github.run_id }}
- name: Upload coverage as artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: lcov.info
# path: ${{ steps.grcov.outputs.report }}
path: lcov.info
- name: Upload coverage to codecov.io
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
# file: ${{ steps.grcov.outputs.report }}
file: lcov.info
fail_ci_if_error: true
+76
View File
@@ -0,0 +1,76 @@
on:
workflow_run:
workflows: [External-testsuites]
types: [completed]
name: Comment Test results on the PR
permissions: {}
jobs:
upload-pr-comment:
if: ${{ github.event.workflow_run.event == 'pull_request' }}
name: Upload PR comment
runs-on: ubuntu-latest
permissions:
actions: read
pull-requests: write
steps:
- name: List Annotations
uses: actions/github-script@v7
with:
script: |
let artifacts = await github.rest.actions.listWorkflowRunArtifacts({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: ${{ github.event.workflow_run.id }},
});
// List all artifacts
let matchArtifact = artifacts.data.artifacts.filter((artifact) => {
return artifact.name == "comment"
})[0];
// Download the artifact to github.workspace
let download = await github.rest.actions.downloadArtifact({
owner: context.repo.owner,
repo: context.repo.repo,
artifact_id: matchArtifact.id,
archive_format: 'zip',
});
let fs = require('fs');
fs.writeFileSync('${{ github.workspace }}/comment.zip', Buffer.from(download.data));
- run: unzip comment.zip
- name: Comment on PR
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
let fs = require('fs');
let annotations = JSON.parse(fs.readFileSync('./annotations.json', 'utf8'));
let annotationContent = annotations
.data
.map(annotation => `${annotation.run}: ${annotation.annotation.message}`)
.join('\n');
// check if no changes
let gnuTestReport = annotationContent.includes('Run GNU findutils tests: Gnu tests No changes');
let bfsTestReport = annotationContent.includes('Run BFS tests: BFS tests No changes');
if (gnuTestReport && bfsTestReport) {
console.log('No changes');
return;
}
// Comment on the PR
github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: annotations.pull_request_number,
body: 'Commit ${{ github.event.workflow_run.head_sha }} has GNU testsuite comparison:\n```\n' + annotationContent + '\n```\n'
});
+187 -132
View File
@@ -1,145 +1,200 @@
on: [push, pull_request]
name: External testsuites
name: External-testsuites
jobs:
gnu-tests:
name: Run GNU findutils tests
runs-on: ubuntu-latest
steps:
- name: Checkout findutils
uses: actions/checkout@v3
with:
path: findutils
- name: Checkout GNU findutils
uses: actions/checkout@v3
with:
repository: gnu-mirror-unofficial/findutils
path: findutils.gnu
ref: 5768a03ddfb5e18b1682e339d6cdd24ff721c510
submodules: true
- name: Install `rust` toolchain
run: |
## Install `rust` toolchain
rustup toolchain install stable --no-self-update -c rustfmt --profile minimal
rustup default stable
- name: Install dependencies
shell: bash
run: |
# Enable sources & install dependencies
sudo find /etc/apt/sources.list* -type f -exec sed -i 'p; s/^deb /deb-src /' '{}' +
sudo apt-get update
sudo apt-get build-dep findutils
- name: Run GNU tests
shell: bash
run: |
cd findutils
bash util/build-gnu.sh ||:
- name: Extract testing info
shell: bash
run: |
- uses: actions/upload-artifact@v3
with:
name: gnu-test-report
path: |
findutils.gnu/find/testsuite/*.log
findutils.gnu/xargs/testsuite/*.log
findutils.gnu/tests/**/*.log
- uses: actions/upload-artifact@v3
with:
name: gnu-result
path: gnu-result.json
- name: Download the result
uses: dawidd6/action-download-artifact@v2
with:
workflow: compat.yml
workflow_conclusion: completed
name: gnu-result
repo: uutils/findutils
branch: main
path: dl
- name: Download the log
uses: dawidd6/action-download-artifact@v2
with:
workflow: compat.yml
workflow_conclusion: completed
name: gnu-test-report
repo: uutils/findutils
branch: main
path: dl
- name: Compare failing tests against master
shell: bash
run: |
./findutils/util/diff-gnu.sh ./dl ./findutils.gnu
- name: Compare against main results
shell: bash
run: |
mv dl/gnu-result.json latest-gnu-result.json
python findutils/util/compare_gnu_result.py
- name: Checkout findutils
uses: actions/checkout@v4
with:
path: findutils
- name: Checkout GNU findutils
uses: actions/checkout@v4
with:
repository: gnu-mirror-unofficial/findutils
path: findutils.gnu
ref: 5768a03ddfb5e18b1682e339d6cdd24ff721c510
submodules: true
- name: Install `rust` toolchain
run: |
## Install `rust` toolchain
rustup toolchain install stable --no-self-update -c rustfmt --profile minimal
rustup default stable
- name: Install dependencies
shell: bash
run: |
# Enable sources & install dependencies
sudo find /etc/apt/sources.list* -type f -exec sed -i 'p; s/^deb /deb-src /' '{}' +
sudo apt-get update
sudo apt-get build-dep findutils
- name: Run GNU tests
shell: bash
run: |
cd findutils
bash util/build-gnu.sh ||:
- name: Extract testing info
shell: bash
run: |
- name: Upload gnu-test-report
uses: actions/upload-artifact@v4
with:
name: gnu-test-report
path: |
findutils.gnu/find/testsuite/*.log
findutils.gnu/xargs/testsuite/*.log
findutils.gnu/tests/**/*.log
- name: Upload gnu-result
uses: actions/upload-artifact@v4
with:
name: gnu-result
path: gnu-result.json
- name: Download the result
uses: dawidd6/action-download-artifact@v6
with:
workflow: compat.yml
workflow_conclusion: completed
name: gnu-result
repo: uutils/findutils
branch: main
path: dl
- name: Download the log
uses: dawidd6/action-download-artifact@v6
with:
workflow: compat.yml
workflow_conclusion: completed
name: gnu-test-report
repo: uutils/findutils
branch: main
path: dl
- name: Compare failing tests against master
shell: bash
run: |
./findutils/util/diff-gnu.sh ./dl ./findutils.gnu
- name: Compare against main results
shell: bash
run: |
mv dl/gnu-result.json latest-gnu-result.json
python findutils/util/compare_gnu_result.py
bfs-tests:
name: Run BFS tests
runs-on: ubuntu-latest
steps:
- name: Checkout findutils
uses: actions/checkout@v3
with:
path: findutils
- name: Checkout BFS
uses: actions/checkout@v3
with:
repository: tavianator/bfs
path: bfs
ref: '2.6.2'
- name: Install `rust` toolchain
run: |
## Install `rust` toolchain
rustup toolchain install stable --no-self-update -c rustfmt --profile minimal
rustup default stable
- name: Install dependencies
shell: bash
run: |
# Enable sources & install dependencies
sudo find /etc/apt/sources.list* -type f -exec sed -i 'p; s/^deb /deb-src /' '{}' +
sudo apt-get update
sudo apt-get build-dep bfs
- name: Run BFS tests
shell: bash
run: |
cd findutils
bash util/build-bfs.sh ||:
- uses: actions/upload-artifact@v3
with:
name: bfs-test-report
path: bfs/tests.log
- uses: actions/upload-artifact@v3
with:
name: bfs-result
path: bfs-result.json
- name: Download the result
uses: dawidd6/action-download-artifact@v2
with:
workflow: compat.yml
workflow_conclusion: completed
name: bfs-result
repo: uutils/findutils
branch: main
path: dl
- name: Download the log
uses: dawidd6/action-download-artifact@v2
with:
workflow: compat.yml
workflow_conclusion: completed
name: bfs-test-report
repo: uutils/findutils
branch: main
path: dl
- name: Compare failing tests against main
shell: bash
run: |
./findutils/util/diff-bfs.sh dl/tests.log bfs/tests.log
- name: Compare against main results
shell: bash
run: |
mv dl/bfs-result.json latest-bfs-result.json
python findutils/util/compare_bfs_result.py
- name: Checkout findutils
uses: actions/checkout@v4
with:
path: findutils
- name: Checkout BFS
uses: actions/checkout@v4
with:
repository: tavianator/bfs
path: bfs
ref: "4.0"
- name: Install `rust` toolchain
run: |
## Install `rust` toolchain
rustup toolchain install stable --no-self-update -c rustfmt --profile minimal
rustup default stable
- name: Install dependencies
shell: bash
run: |
# Enable sources & install dependencies
sudo find /etc/apt/sources.list* -type f -exec sed -i 'p; s/^deb /deb-src /' '{}' +
sudo apt-get update
sudo apt-get build-dep bfs
- name: Run BFS tests
shell: bash
run: |
cd findutils
bash util/build-bfs.sh ||:
- name: Upload bfs-test-report
uses: actions/upload-artifact@v4
with:
name: bfs-test-report
path: bfs/tests.log
- name: Upload bfs-result
uses: actions/upload-artifact@v4
with:
name: bfs-result
path: bfs-result.json
- name: Download the result
uses: dawidd6/action-download-artifact@v6
with:
workflow: compat.yml
workflow_conclusion: completed
name: bfs-result
repo: uutils/findutils
branch: main
path: dl
- name: Download the log
uses: dawidd6/action-download-artifact@v6
with:
workflow: compat.yml
workflow_conclusion: completed
name: bfs-test-report
repo: uutils/findutils
branch: main
path: dl
- name: Compare failing tests against main
shell: bash
run: |
./findutils/util/diff-bfs.sh dl/tests.log bfs/tests.log
- name: Compare against main results
shell: bash
run: |
mv dl/bfs-result.json latest-bfs-result.json
python findutils/util/compare_bfs_result.py
upload-annotations:
name: Upload annotations
runs-on: ubuntu-latest
needs: [gnu-tests, bfs-tests]
if: ${{ github.event_name == 'pull_request' }}
steps:
- name: List Annotations
uses: actions/github-script@v7
with:
script: |
let runs = await github.rest.checks.listForRef({
owner: context.repo.owner,
repo: context.repo.repo,
ref: '${{ github.event.pull_request.head.sha }}'
});
let names = ['Run GNU findutils tests', 'Run BFS tests'];
let results = [];
runs.data.check_runs.filter(check => names.includes(check.name)).forEach(run => results.push(run));
let annotations = { data: [], pull_request_number: '${{ github.event.number }}' };
for (let result of results) {
let run = await github.rest.checks.listAnnotations({
owner: context.repo.owner,
repo: context.repo.repo,
check_run_id: result.id
});
run.data.forEach(data => {
annotations.data.push({
run: result.name,
annotation: data
});
});
}
// Remove duplicate items.
annotations.data = annotations.data.filter((value, index, self) =>
self.findIndex(v => v.annotation.message === value.annotation.message) === index);
let fs = require('fs');
fs.writeFileSync('${{ github.workspace }}/annotations.json', JSON.stringify(annotations));
- name: Upload annotations
uses: actions/upload-artifact@v4
with:
name: comment
path: annotations.json
+266
View File
@@ -0,0 +1,266 @@
# Copyright 2022-2023, axodotdev
# SPDX-License-Identifier: MIT or Apache-2.0
#
# CI that:
#
# * checks for a Git Tag that looks like a release
# * builds artifacts with cargo-dist (archives, installers, hashes)
# * uploads those artifacts to temporary workflow zip
# * on success, uploads the artifacts to a Github Release
#
# Note that the Github Release will be created with a generated
# title/body based on your changelogs.
name: Release
permissions:
contents: write
# This task will run whenever you push a git tag that looks like a version
# like "1.0.0", "v0.1.0-prerelease.1", "my-app/0.1.0", "releases/v1.0.0", etc.
# Various formats will be parsed into a VERSION and an optional PACKAGE_NAME, where
# PACKAGE_NAME must be the name of a Cargo package in your workspace, and VERSION
# must be a Cargo-style SemVer Version (must have at least major.minor.patch).
#
# If PACKAGE_NAME is specified, then the announcement will be for that
# package (erroring out if it doesn't have the given version or isn't cargo-dist-able).
#
# If PACKAGE_NAME isn't specified, then the announcement will be for all
# (cargo-dist-able) packages in the workspace with that version (this mode is
# intended for workspaces with only one dist-able package, or with all dist-able
# packages versioned/released in lockstep).
#
# If you push multiple tags at once, separate instances of this workflow will
# spin up, creating an independent announcement for each one. However Github
# will hard limit this to 3 tags per commit, as it will assume more tags is a
# mistake.
#
# If there's a prerelease-style suffix to the version, then the release(s)
# will be marked as a prerelease.
on:
push:
tags:
- '**[0-9]+.[0-9]+.[0-9]+*'
pull_request:
jobs:
# Run 'cargo dist plan' (or host) to determine what tasks we need to do
plan:
runs-on: ubuntu-latest
outputs:
val: ${{ steps.plan.outputs.manifest }}
tag: ${{ !github.event.pull_request && github.ref_name || '' }}
tag-flag: ${{ !github.event.pull_request && format('--tag={0}', github.ref_name) || '' }}
publishing: ${{ !github.event.pull_request }}
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Install cargo-dist
# we specify bash to get pipefail; it guards against the `curl` command
# failing. otherwise `sh` won't catch that `curl` returned non-0
shell: bash
run: "curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.12.0/cargo-dist-installer.sh | sh"
# sure would be cool if github gave us proper conditionals...
# so here's a doubly-nested ternary-via-truthiness to try to provide the best possible
# functionality based on whether this is a pull_request, and whether it's from a fork.
# (PRs run on the *source* but secrets are usually on the *target* -- that's *good*
# but also really annoying to build CI around when it needs secrets to work right.)
- id: plan
run: |
cargo dist ${{ (!github.event.pull_request && format('host --steps=create --tag={0}', github.ref_name)) || 'plan' }} --output-format=json > plan-dist-manifest.json
echo "cargo dist ran successfully"
cat plan-dist-manifest.json
echo "manifest=$(jq -c "." plan-dist-manifest.json)" >> "$GITHUB_OUTPUT"
- name: "Upload dist-manifest.json"
uses: actions/upload-artifact@v4
with:
name: artifacts-plan-dist-manifest
path: plan-dist-manifest.json
# Build and packages all the platform-specific things
build-local-artifacts:
name: build-local-artifacts (${{ join(matrix.targets, ', ') }})
# Let the initial task tell us to not run (currently very blunt)
needs:
- plan
if: ${{ fromJson(needs.plan.outputs.val).ci.github.artifacts_matrix.include != null && (needs.plan.outputs.publishing == 'true' || fromJson(needs.plan.outputs.val).ci.github.pr_run_mode == 'upload') }}
strategy:
fail-fast: false
# Target platforms/runners are computed by cargo-dist in create-release.
# Each member of the matrix has the following arguments:
#
# - runner: the github runner
# - dist-args: cli flags to pass to cargo dist
# - install-dist: expression to run to install cargo-dist on the runner
#
# Typically there will be:
# - 1 "global" task that builds universal installers
# - N "local" tasks that build each platform's binaries and platform-specific installers
matrix: ${{ fromJson(needs.plan.outputs.val).ci.github.artifacts_matrix }}
runs-on: ${{ matrix.runner }}
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BUILD_MANIFEST_NAME: target/distrib/${{ join(matrix.targets, '-') }}-dist-manifest.json
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: swatinem/rust-cache@v2
- name: Install cargo-dist
run: ${{ matrix.install_dist }}
# Get the dist-manifest
- name: Fetch local artifacts
uses: actions/download-artifact@v4
with:
pattern: artifacts-*
path: target/distrib/
merge-multiple: true
- name: Install dependencies
run: |
${{ matrix.packages_install }}
- name: Build artifacts
run: |
# Actually do builds and make zips and whatnot
cargo dist build ${{ needs.plan.outputs.tag-flag }} --print=linkage --output-format=json ${{ matrix.dist_args }} > dist-manifest.json
echo "cargo dist ran successfully"
- id: cargo-dist
name: Post-build
# We force bash here just because github makes it really hard to get values up
# to "real" actions without writing to env-vars, and writing to env-vars has
# inconsistent syntax between shell and powershell.
shell: bash
run: |
# Parse out what we just built and upload it to scratch storage
echo "paths<<EOF" >> "$GITHUB_OUTPUT"
jq --raw-output ".artifacts[]?.path | select( . != null )" dist-manifest.json >> "$GITHUB_OUTPUT"
echo "EOF" >> "$GITHUB_OUTPUT"
cp dist-manifest.json "$BUILD_MANIFEST_NAME"
- name: "Upload artifacts"
uses: actions/upload-artifact@v4
with:
name: artifacts-build-local-${{ join(matrix.targets, '_') }}
path: |
${{ steps.cargo-dist.outputs.paths }}
${{ env.BUILD_MANIFEST_NAME }}
# Build and package all the platform-agnostic(ish) things
build-global-artifacts:
needs:
- plan
- build-local-artifacts
runs-on: "ubuntu-20.04"
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BUILD_MANIFEST_NAME: target/distrib/global-dist-manifest.json
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Install cargo-dist
shell: bash
run: "curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.12.0/cargo-dist-installer.sh | sh"
# Get all the local artifacts for the global tasks to use (for e.g. checksums)
- name: Fetch local artifacts
uses: actions/download-artifact@v4
with:
pattern: artifacts-*
path: target/distrib/
merge-multiple: true
- id: cargo-dist
shell: bash
run: |
cargo dist build ${{ needs.plan.outputs.tag-flag }} --output-format=json "--artifacts=global" > dist-manifest.json
echo "cargo dist ran successfully"
# Parse out what we just built and upload it to scratch storage
echo "paths<<EOF" >> "$GITHUB_OUTPUT"
jq --raw-output ".artifacts[]?.path | select( . != null )" dist-manifest.json >> "$GITHUB_OUTPUT"
echo "EOF" >> "$GITHUB_OUTPUT"
cp dist-manifest.json "$BUILD_MANIFEST_NAME"
- name: "Upload artifacts"
uses: actions/upload-artifact@v4
with:
name: artifacts-build-global
path: |
${{ steps.cargo-dist.outputs.paths }}
${{ env.BUILD_MANIFEST_NAME }}
# Determines if we should publish/announce
host:
needs:
- plan
- build-local-artifacts
- build-global-artifacts
# Only run if we're "publishing", and only if local and global didn't fail (skipped is fine)
if: ${{ always() && needs.plan.outputs.publishing == 'true' && (needs.build-global-artifacts.result == 'skipped' || needs.build-global-artifacts.result == 'success') && (needs.build-local-artifacts.result == 'skipped' || needs.build-local-artifacts.result == 'success') }}
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
runs-on: "ubuntu-20.04"
outputs:
val: ${{ steps.host.outputs.manifest }}
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Install cargo-dist
run: "curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.12.0/cargo-dist-installer.sh | sh"
# Fetch artifacts from scratch-storage
- name: Fetch artifacts
uses: actions/download-artifact@v4
with:
pattern: artifacts-*
path: target/distrib/
merge-multiple: true
# This is a harmless no-op for Github Releases, hosting for that happens in "announce"
- id: host
shell: bash
run: |
cargo dist host ${{ needs.plan.outputs.tag-flag }} --steps=upload --steps=release --output-format=json > dist-manifest.json
echo "artifacts uploaded and released successfully"
cat dist-manifest.json
echo "manifest=$(jq -c "." dist-manifest.json)" >> "$GITHUB_OUTPUT"
- name: "Upload dist-manifest.json"
uses: actions/upload-artifact@v4
with:
# Overwrite the previous copy
name: artifacts-dist-manifest
path: dist-manifest.json
# Create a Github Release while uploading all files to it
announce:
needs:
- plan
- host
# use "always() && ..." to allow us to wait for all publish jobs while
# still allowing individual publish jobs to skip themselves (for prereleases).
# "host" however must run to completion, no skipping allowed!
if: ${{ always() && needs.host.result == 'success' }}
runs-on: "ubuntu-20.04"
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: "Download Github Artifacts"
uses: actions/download-artifact@v4
with:
pattern: artifacts-*
path: artifacts
merge-multiple: true
- name: Cleanup
run: |
# Remove the granular manifests
rm -f artifacts/*-dist-manifest.json
- name: Create Github Release
uses: ncipollo/release-action@v1
with:
tag: ${{ needs.plan.outputs.tag }}
name: ${{ fromJson(needs.host.outputs.val).announcement_title }}
body: ${{ fromJson(needs.host.outputs.val).announcement_github_body }}
prerelease: ${{ fromJson(needs.host.outputs.val).announcement_is_prerelease }}
artifacts: "artifacts/*"
+1
View File
@@ -4,3 +4,4 @@ target
.cargo
.settings
test_data/links/link-*
/public/
-33
View File
@@ -1,33 +0,0 @@
language: rust
sudo: false
os:
- linux
- osx
rust:
- stable
- nightly
matrix:
fast_finish: true
branches:
only:
- master
cache: cargo
before_cache: |
if [[ "$TRAVIS_RUST_VERSION" = nightly ]]; then
RUSTFLAGS="--cfg procmacro2_semver_exempt" cargo install cargo-tarpaulin -f
fi
script:
- cargo build --verbose
- cargo test --verbose
after_script: |
if [[ "$TRAVIS_OS_NAME" = linux && "$TRAVIS_RUST_VERSION" = nightly ]]; then
cargo tarpaulin --out Xml
bash <(curl -s https://codecov.io/bash)
fi
+128
View File
@@ -0,0 +1,128 @@
# Contributor Covenant Code of Conduct
## Our Pledge
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socioeconomic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to a positive environment for our
community include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
## Scope
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
sylvestre@debian.org.
All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series
of actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within
the community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
<https://www.contributor-covenant.org/version/2/0/code_of_conduct.html>.
Community Impact Guidelines were inspired by [Mozilla's code of conduct
enforcement ladder](https://github.com/mozilla/diversity).
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see the FAQ at
<https://www.contributor-covenant.org/faq>. Translations are available at
<https://www.contributor-covenant.org/translations>.
+264
View File
@@ -0,0 +1,264 @@
<!-- spell-checker:ignore reimplementing toybox RUNTEST CARGOFLAGS nextest embeddable Rustonomicon rustdoc's -->
# Contributing to findutils
Hi! Welcome to uutils/findutils!
Thanks for wanting to contribute to this project! This document explains
everything you need to know to contribute. Before you start make sure to also
check out these documents:
- Our community's [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md).
- [DEVELOPMENT.md](./DEVELOPMENT.md) for setting up your development
environment.
Now follows a very important warning:
> [!WARNING]
> uutils is original code and cannot contain any code from GNU or
> other implementations. This means that **we cannot accept any changes based on
> the GNU source code**. To make sure that cannot happen, **you cannot link to
> the GNU source code** either. It is however possible to look at other implementations
> under a BSD or MIT license like [Apple's implementation](https://opensource.apple.com/source/file_cmds/)
> or [OpenBSD](https://github.com/openbsd/src/tree/master/bin).
Finally, feel free to join our [Discord](https://discord.gg/wQVJbvJ)!
<!-- TODO: Getting Oriented -->
## Design Goals
We have the following goals with our development:
- **Compatible**: The utilities should be a drop-in replacement for the GNU
coreutils.
- **Cross-platform**: All utilities should run on as many of the supported
platforms as possible.
- **Reliable**: The utilities should never unexpectedly fail.
- **Performant**: Our utilities should be written in fast idiomatic Rust. We aim
to match or exceed the performance of the GNU utilities.
- **Well-tested**: We should have a lot of tests to be able to guarantee
reliability and compatibility.
## How to Help
There are several ways to help and writing code is just one of them. Reporting
issues and writing documentation are just as important as writing code.
### Reporting Issues
We can't fix bugs we don't know about, so good issues are super helpful! Here
are some tips for writing good issues:
- If you find a bug, make sure it's still a problem on the `main` branch.
- Search through the existing issues to see whether it has already been
reported.
- Make sure to include all relevant information, such as:
- Which version of uutils did you check?
- Which version of GNU coreutils are you comparing with?
- What platform are you on?
- Provide a way to reliably reproduce the issue.
- Be as specific as possible!
### Writing Documentation
There's never enough documentation. If you come across any documentation that
could be improved, feel free to submit a PR for it!
### Writing Code
If you want to submit a PR, make sure that you've discussed the solution with
the maintainers beforehand. We want to avoid situations where you put a lot of
work into a fix that we can't merge! If there's no issue for what you're trying
to fix yet, make one _before_ you start working on the PR.
Generally, we try to follow what GNU is doing in terms of options and behavior.
It is recommended to look at the GNU findtils manual
([on the web](https://www.gnu.org/software/findutils/manual/html_node/index.html),
or locally using `info <utility>`). It is more in depth than the man pages and
provides a good description of available features and their implementation
details. But remember, you cannot look at the GNU source code!
Also remember that we can only merge PRs which pass our test suite, follow
rustfmt, and do not have any warnings from clippy. See
[DEVELOPMENT.md](./DEVELOPMENT.md) for more information. Be sure to also read
about our [Rust style](#our-rust-style).
## Our Rust Style
We want uutils to be written in idiomatic Rust, so here are some guidelines to
follow. Some of these are aspirational, meaning that we don't do them correctly
everywhere in the code. If you find violations of the advice below, feel free to
submit a patch!
### Don't `panic!`
The coreutils should be very reliable. This means that we should never `panic!`.
Therefore, you should avoid using `.unwrap()` and `panic!`. Sometimes the use of
`unreachable!` can be justified with a comment explaining why that code is
unreachable.
### Don't `exit`
We want uutils to be embeddable in other programs. This means that no function
in uutils should exit the program. Doing so would also lead to code with more
confusing control flow. Avoid therefore `std::process::exit` and similar
functions which exit the program early.
### `unsafe`
uutils cannot be entirely safe, because we have to call out to `libc` and do
syscalls. However, we still want to limit our use of `unsafe`. We generally only
accept `unsafe` for FFI, with very few exceptions. Note that performance is very
rarely a valid argument for using `unsafe`.
If you still need to write code with `unsafe`, make sure to read the
[Rustonomicon](https://doc.rust-lang.org/nomicon/intro.html) and annotate the
calls with `// SAFETY:` comments explaining why the use of `unsafe` is sound.
### Macros
Macros can be a great tool, but they are also usually hard to understand. They
should be used sparingly. Make sure to explore simpler options before you reach
for a solution involving macros.
### `str`, `OsStr` & `Path`
Rust has many string-like types, and sometimes it's hard to choose the right
one. It's tempting to use `str` (and `String`) for everything, but that is not
always the right choice for uutils, because we need to support invalid UTF-8,
just like the GNU coreutils. For example, paths on Linux might not be valid
UTF-8! Whenever we are dealing with paths, we should therefore stick with
`OsStr` and `Path`. Make sure that you only convert to `str`/`String` if you
know that something is always valid UTF-8. If you need more operations on
`OsStr`, you can use the [`bstr`](https://docs.rs/bstr/latest/bstr/) crate.
### Doc-comments
We use rustdoc for our documentation, so it's best to follow
[rustdoc's guidelines](https://doc.rust-lang.org/rustdoc/how-to-write-documentation.html#documenting-components).
Make sure that your documentation is not just repeating the name of the
function, but actually giving more useful information. Rustdoc recommends the
following structure:
```
[short sentence explaining what it is]
[more detailed explanation]
[at least one code example that users can copy/paste to try it]
[even more advanced explanations if necessary]
```
### Other comments
Comments should be written to _explain_ the code, not to _describe_ the code.
Try to focus on explaining _why_ the code is the way it is. If you feel like you
have to describe the code, that's usually a sign that you could improve the
naming of variables and functions.
If you edit a piece of code, make sure to update any comments that need to
change as a result. The only thing worse than having no comments is having
outdated comments!
## Git Etiquette
To ensure easy collaboration, we have guidelines for using Git and GitHub.
### Commits
- Make small and atomic commits.
- Keep a clean history of commits.
- Write informative commit messages.
- Annotate your commit message with the component you're editing. For example:
`cp: do not overwrite on with -i` or `uucore: add support for FreeBSD`.
- Do not unnecessarily move items around in the code. This makes the changes
much harder to review. If you do need to move things around, do that in a
separate commit.
### Commit messages
You can read this section in the Git book to learn how to write good commit
messages: https://git-scm.com/book/ch5-2.html.
In addition, here are a few examples for a summary line when committing to
uutils:
- commit for a single utility
```
nohup: cleanup and refactor
```
- commit for a utility's tests
```
tests/rm: test new feature
```
Beyond changes to an individual utility or its tests, other summary lines for
non-utility modules include:
```
README: add help
uucore: add new modules
uutils: add new utility
gitignore: add temporary files
```
### PRs
- Make the titles of PRs descriptive.
- This means describing the problem you solve. For example, do not write
`Fix #1234`, but `ls: fix version sort order`.
- You can prefix the title with the utility the PR concerns.
- Keep PRs small and self-contained. A set of small PRs is much more likely to
get merged quickly than one large PR.
- Make sure the CI passes (up to intermittently failing tests).
- You know your code best, that's why it's best if you can solve merge conflicts
on your branch yourself.
- It's up to you whether you want to use `git merge main` or
`git rebase main`.
- Feel free to ask for help with merge conflicts.
- You do not need to ping maintainers to request a review, but it's fine to do
so if you don't get a response within a few days.
## Platforms
We take pride in supporting many operating systems and architectures. Any code
you contribute must at least compile without warnings for all platforms in the
CI. However, you can use `#[cfg(...)]` attributes to create platform dependent
features.
**Tip:** For Windows, Microsoft provides some images (VMWare, Hyper-V,
VirtualBox and Parallels) for development:
<https://developer.microsoft.com/windows/downloads/virtual-machines/>
## Licensing
uutils is distributed under the terms of the MIT License; see the `LICENSE` file
for details. This is a permissive license, which allows the software to be used
with few restrictions.
Copyrights in the uutils project are retained by their contributors, and no
copyright assignment is required to contribute.
If you wish to add or change dependencies as part of a contribution to the
project, a tool like `cargo-license` can be used to show their license details.
The following types of license are acceptable:
- MIT License
- Dual- or tri-license with an MIT License option ("Apache-2.0 or MIT" is a
popular combination)
- "MIT equivalent" license (2-clause BSD, 3-clause BSD, ISC)
- License less restrictive than the MIT License (CC0 1.0 Universal)
- Apache License version 2.0
Licenses we will not use:
- An ambiguous license, or no license
- Strongly reciprocal licenses (GNU GPL, GNU LGPL)
If you wish to add a reference but it doesn't meet these requirements, please
raise an issue to describe the dependency.
Generated
+347 -504
View File
File diff suppressed because it is too large Load Diff
+36 -11
View File
@@ -1,31 +1,33 @@
[package]
name = "findutils"
version = "0.4.1"
version = "0.7.0"
homepage = "https://github.com/uutils/findutils"
repository = "https://github.com/uutils/findutils"
edition = "2018"
edition = "2021"
license = "MIT"
readme = "README.md"
description = "Rust implementation of GNU findutils"
authors = ["uutils developers"]
[dependencies]
chrono = "0.4"
clap = "2.34"
chrono = "0.4.38"
clap = "4.5"
faccess = "0.2.4"
walkdir = "2.3"
regex = "1.7"
once_cell = "1.17"
onig = "6.4"
uucore = { version = "0.0.12", features = ["entries", "fs", "fsext", "mode"] }
walkdir = "2.5"
regex = "1.10"
once_cell = "1.19"
onig = { version = "6.4", default-features = false }
uucore = { version = "0.0.27", features = ["entries", "fs", "fsext", "mode"] }
nix = { version = "0.29", features = ["fs", "user"] }
[dev-dependencies]
assert_cmd = "2"
filetime = "0.2"
nix = "0.26"
nix = { version = "0.29", features = ["fs"] }
predicates = "3"
serial_test = "2.0"
serial_test = "3.1"
tempfile = "3"
pretty_assertions = "1.4.0"
[[bin]]
name = "find"
@@ -38,3 +40,26 @@ path = "src/xargs/main.rs"
[[bin]]
name = "testing-commandline"
path = "src/testing/commandline/main.rs"
# The profile that 'cargo dist' will build with
[profile.dist]
inherits = "release"
lto = "thin"
# Config for 'cargo dist'
[workspace.metadata.dist]
# The preferred cargo-dist version to use in CI (Cargo.toml SemVer syntax)
cargo-dist-version = "0.12.0"
# CI backends to support
ci = ["github"]
# The installers to generate for each app
installers = []
# Target platforms to build apps for (Rust target-triple syntax)
targets = [
"aarch64-apple-darwin",
"x86_64-apple-darwin",
"x86_64-unknown-linux-gnu",
"x86_64-pc-windows-msvc",
]
# Publish jobs to run in CI
pr-run-mode = "plan"
+156
View File
@@ -0,0 +1,156 @@
<!-- spell-checker:ignore (flags) Ccodegen Coverflow Cpanic Zinstrument Zpanic reimplementing toybox RUNTEST CARGOFLAGS nextest prereq autopoint gettext texinfo automake findutils shellenv libexec gnubin toolchains gsed -->
# Setting up your local development environment
For contributing rules and best practices please refer to [CONTRIBUTING.md](CONTRIBUTING.md)
## Before you start
For this guide we assume that you already have a GitHub account and have `git` and your favorite code editor or IDE installed and configured.
Before you start working on findutils, please follow these steps:
1. Fork the [findutils repository](https://github.com/uutils/findutils) to your GitHub account.
***Tip:*** See [this GitHub guide](https://docs.github.com/en/get-started/quickstart/fork-a-repo) for more information on this step.
2. Clone that fork to your local development environment:
```shell
git clone https://github.com/YOUR-GITHUB-ACCOUNT/findutils
cd findutils
```
## Tools
You will need the tools mentioned in this section to build and test your code changes locally.
This section will explain how to install and configure these tools.
We also have an extensive CI that uses these tools and will check your code before it can be merged.
The next section [Testing](#testing) will explain how to run those checks locally to avoid waiting for the CI.
### Rust toolchain
[Install Rust](https://www.rust-lang.org/tools/install)
If you're using rustup to install and manage your Rust toolchains, `clippy` and `rustfmt` are usually already installed. If you are using one of the alternative methods, please make sure to install them manually. See following sub-sections for their usage: [clippy](#clippy) [rustfmt](#rustfmt).
***Tip*** You might also need to add 'llvm-tools' component if you are going to [generate code coverage reports locally](#code-coverage-report):
```shell
rustup component add llvm-tools-preview
```
### pre-commit hooks
A configuration for `pre-commit` is provided in the repository. It allows
automatically checking every git commit you make to ensure it compiles, and
passes `clippy` and `rustfmt` without warnings.
To use the provided hook:
1. [Install `pre-commit`](https://pre-commit.com/#install)
1. Run `pre-commit install` while in the repository directory
Your git commits will then automatically be checked. If a check fails, an error
message will explain why, and your commit will be canceled. You can then make
the suggested changes, and run `git commit ...` again.
**NOTE: On MacOS** the pre-commit hooks are currently broken. There are workarounds involving switching to unstable nightly Rust and components.
### clippy
```shell
cargo clippy --all-targets --all-features
```
The `msrv` key in the clippy configuration file `clippy.toml` is used to disable
lints pertaining to newer features by specifying the minimum supported Rust
version (MSRV).
### rustfmt
```shell
cargo fmt --all
```
### cargo-deny
This project uses [cargo-deny](https://github.com/EmbarkStudios/cargo-deny/) to
detect duplicate dependencies, checks licenses, etc. To run it locally, first
install it and then run with:
```shell
cargo deny --all-features check all
```
### Markdown linter
We use [markdownlint](https://github.com/DavidAnson/markdownlint) to lint the
Markdown files in the repository.
### Spell checker
We use `cspell` as spell checker for all files in the project. If you are using
VS Code, you can install the
[code spell checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker)
extension to enable spell checking within your editor. Otherwise, you can
install [cspell](https://cspell.org/) separately.
If you want to make the spell checker ignore a word, you can add
```rust
// spell-checker:ignore word_to_ignore
```
at the top of the file.
## Testing
Just like with building, we follow the standard procedure for testing using
Cargo:
```shell
cargo test
```
## Code coverage report
Code coverage report can be generated using [grcov](https://github.com/mozilla/grcov).
### Using Nightly Rust
To generate [gcov-based](https://github.com/mozilla/grcov#example-how-to-generate-gcda-files-for-a-rust-project) coverage report
```shell
export CARGO_INCREMENTAL=0
export RUSTFLAGS="-Zprofile -Ccodegen-units=1 -Copt-level=0 -Clink-dead-code -Coverflow-checks=off -Zpanic_abort_tests -Cpanic=abort"
export RUSTDOCFLAGS="-Cpanic=abort"
cargo build <options...>
cargo test <options...>
grcov . -s . --binary-path ./target/debug/ -t html --branch --ignore-not-existing --ignore build.rs --excl-br-line "^\s*((debug_)?assert(_eq|_ne)?\#\[derive\()" -o ./target/debug/coverage/
# open target/debug/coverage/index.html in browser
```
if changes are not reflected in the report then run `cargo clean` and run the above commands.
### Using Stable Rust
If you are using stable version of Rust that doesn't enable code coverage instrumentation by default
then add `-Z-Zinstrument-coverage` flag to `RUSTFLAGS` env variable specified above.
## Tips for setting up on Mac
### C Compiler and linker
On MacOS you'll need to install C compiler & linker:
```shell
xcode-select --install
```
## Tips for setting up on Windows
### MSVC build tools
On Windows you'll need the MSVC build tools for Visual Studio 2013 or later.
If you are using `rustup-init.exe` to install Rust toolchain, it will guide you through the process of downloading and installing these prerequisites.
Otherwise please follow [this guide](https://learn.microsoft.com/en-us/windows/dev-environment/rust/setup).
+15 -1
View File
@@ -1,10 +1,13 @@
# findutils
[![Crates.io](https://img.shields.io/crates/v/findutils.svg)](https://crates.io/crates/findutils)
[![Discord](https://img.shields.io/badge/discord-join-7289DA.svg?logo=discord&longCache=true&style=flat)](https://discord.gg/wQVJbvJ)
[![License](http://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/uutils/findutils/blob/main/LICENSE)
[![dependency status](https://deps.rs/repo/github/uutils/findutils/status.svg)](https://deps.rs/repo/github/uutils/findutils)
[![codecov](https://codecov.io/gh/uutils/findutils/branch/master/graph/badge.svg)](https://codecov.io/gh/uutils/findutils)
Rust implementation of [GNU findutils](https://www.gnu.org/software/findutils/).
Rust implementation of [GNU findutils](https://www.gnu.org/software/findutils/): `xargs`, `find`, `locate` and `updatedb`.
The goal is to be a full drop-in replacement of the original commands.
## Run the GNU testsuite on rust/findutils:
@@ -20,4 +23,15 @@ bash util/build-gnu.sh tests/misc/help-version.sh
![Evolution over time - GNU testsuite](https://github.com/uutils/findutils-tracking/blob/main/gnu-results.png?raw=true)
![Evolution over time - BFS testsuite](https://github.com/uutils/findutils-tracking/blob/main/bfs-results.png?raw=true)
## Build/run with BFS
[bfs](https://github.com/tavianator/bfs) is a variant of the UNIX find command that operates breadth-first rather than depth-first.
```
bash util/build-bfs.sh
# To run a specific test:
bash util/build-bfs.sh posix/basic
```
For more details, see https://github.com/uutils/findutils-tracking/
+10
View File
@@ -0,0 +1,10 @@
[book]
authors = ["Terts Diepraam"]
language = "en"
multilingual = false
src = "src"
title = "findutils"
[preprocessor.toc]
command = "mdbook-toc"
renderer = ["html"]
+9
View File
@@ -0,0 +1,9 @@
# Summary
[Introduction](index.md)
* [Installation](installation.md)
* [Build from source](build.md)
* [Platform support](platforms.md)
* [Contributing](contributing.md)
* [GNU test coverage](test_coverage.md)
* [Extensions](extensions.md)
+3
View File
@@ -0,0 +1,3 @@
# Build from source
TODO
+3
View File
@@ -0,0 +1,3 @@
<!-- markdownlint-disable MD041 -->
{{ #include ../../CONTRIBUTING.md }}
+3
View File
@@ -0,0 +1,3 @@
# Extensions
TODO
+49
View File
@@ -0,0 +1,49 @@
<!-- markdownlint-disable MD041 -->
{{#include logo.svg}}
<!-- markdownlint-disable MD033 -->
<style>
/* Make the logo a bit bigger and center */
#logo {
height: 200px;
width: 100%;
}
/* This is necessary to get the <use> tags to obey the CSS styles below */
g, polygon {
fill: inherit;
stroke: inherit;
}
/* Set the circle to the foreground color of the theme */
#gear circle {
stroke: var(--fg);
}
/* Set the stroke of polygons and the copies (via use) */
#gear polygon,
#gear use {
fill: var(--fg);
stroke: var(--fg);
}
</style>
# uutils findutils Documentation
The uutils findutils project reimplements the GNU findutils in Rust. It is available for Linux, Windows, Mac
and other platforms.
uutils is licensed under the
[MIT License](https://github.com/uutils/findutils/blob/main/LICENSE).
## Useful links
- [Releases](https://github.com/uutils/findutils/releases)
- [Source Code](https://github.com/uutils/findutils)
- [Issues](https://github.com/uutils/findutils/issues)
- [Discord](https://discord.gg/wQVJbvJ)
> Note: This manual is automatically generated from the source code and is a
> work in progress.
+64
View File
@@ -0,0 +1,64 @@
<!-- spell-checker:ignore pacman pamac nixpkgs openmandriva conda winget openembedded yocto bblayers bitbake -->
# Installation
This is a list of uutils packages in various distributions and package managers.
Note that these are packaged by third-parties and the packages might contain
patches.
You can also [build findutils from source](build.md).
<!-- toc -->
## Cargo
[![crates.io package](https://repology.org/badge/version-for-repo/crates_io/rust:findutils.svg)](https://crates.io/crates/findutils)
```shell
cargo install findutils
```
## Linux
### Debian
[![Debian 13 package](https://repology.org/badge/version-for-repo/debian_13/rust:findutils.svg)](https://packages.debian.org/trixie/source/rust-findutils)
[![Debian Unstable package](https://repology.org/badge/version-for-repo/debian_unstable/rust:findutils.svg)](https://packages.debian.org/sid/source/rust-findutils)
```shell
apt install rust-findutils
# To use it:
export PATH=/usr/lib/cargo/bin/findutils:$PATH
```
### Gentoo
[![Gentoo package](https://repology.org/badge/version-for-repo/gentoo/uutils-findutils.svg)](https://packages.gentoo.org/packages/sys-apps/uutils-findutils)
```shell
emerge -pv sys-apps/uutils-findutils
```
## MacOS
### Homebrew
[![Homebrew package](https://repology.org/badge/version-for-repo/homebrew/uutils-findutils.svg)](https://formulae.brew.sh/formula/uutils-findutils)
```shell
brew install uutils-findutils
```
## FreeBSD
[![FreeBSD port](https://repology.org/badge/version-for-repo/freebsd/rust-findutils.svg)](https://repology.org/project/rust-findutils/versions)
```sh
pkg install rust-findutils
```
## Windows
As far as we are aware, `findutils` has not been packaged for any package managers on Windows yet.

Some files were not shown because too many files have changed in this diff Show More