oech3
bdf449eaf2
Publish binary from main ( #163 )
2026-03-07 22:04:19 +01:00
oech3
f8248801a9
fuzzing.yml: Avoid non reusable cache generation ( #170 )
2026-03-07 18:39:56 +01:00
Aster Boese
357c99038f
cmp: fix 32-bit usize overflow in test ( #173 )
...
Fixes https://github.com/uutils/diffutils/issues/172
2026-03-07 18:35:57 +01:00
codspeed-hq[bot]
59e130aa22
Add CodSpeed performance benchmarking workflow and badge ( #189 )
...
Co-authored-by: codspeed-hq[bot] <117304815+codspeed-hq[bot]@users.noreply.github.com>
2026-03-07 15:12:18 +01:00
Gunter Schmidt
54c8b7aeb9
feat: Divan Benchmark ( #185 )
...
* feat: Criterion Benchmark
* fix: Replaced Criterion with codspeed drop-in replacement
* feat: uses Divan instead of Criterion
* changed file num lines to file size in kb
---------
Co-authored-by: Gunter Schmidt <gsgit@beadsoft.de >
2026-03-07 14:55:10 +01:00
Ryuji Yasukochi
6f082c6572
fix: rename "Unknown option" to "unrecognized option" for diff and cmp ( #179 )
2026-02-28 13:43:56 +01:00
renovate[bot]
34db0ade7c
chore(deps): update rust crate tempfile to v3.26.0
2026-02-24 10:29:37 +01:00
renovate[bot]
d3d0b0c966
chore(deps): update rust crate chrono to v0.4.44
2026-02-23 14:00:09 +01:00
renovate[bot]
87e0aa2828
chore(deps): update rust crate predicates to v3.1.4
2026-02-12 06:27:45 +01:00
renovate[bot]
9f419c31ea
chore(deps): update rust crate libfuzzer-sys to v0.4.12
2026-02-10 23:23:31 +01:00
renovate[bot]
95883b462b
chore(deps): update rust crate tempfile to v3.25.0
2026-02-10 06:08:40 +01:00
Daniel Hofstetter
f20af97a09
Merge pull request #166 from uutils/renovate/regex-1.x-lockfile
...
chore(deps): update rust crate regex to v1.12.3
2026-02-03 17:06:50 +01:00
renovate[bot]
b9b7ea8d2b
chore(deps): update rust crate regex to v1.12.3
2026-02-03 14:47:31 +00:00
Sylvestre Ledru
47798b4b2c
Merge pull request #164 from oech3/patch-2
...
Use preinstalled rust, disable incremental build
2026-01-25 17:22:11 +01:00
oech3
445e1ea02f
Use preinstalled rust, disable incremental build
2026-01-25 11:58:26 +09:00
renovate[bot]
e2fb192d52
chore(deps): update rust crate chrono to v0.4.43
2026-01-15 06:13:15 +01:00
renovate[bot]
a1d18a0c09
chore(deps): update rust crate assert_cmd to v2.1.2
2026-01-09 19:40:57 +01:00
Sylvestre Ledru
5dd2e9d30c
cmp: stop allocating for byte printing ( #153 )
...
This makes verbose comparison of 37MB completely different files 2.34x
faster than our own baseline, putting our cmp at almost 6x faster than
GNU cmp (/opt/homebrew/bin/cmp) on my M4 Pro Mac. The output remains
identical to that of GNU cmp. Mostly equal and smaller files do not
regress.
Benchmark 1: ./bin/baseline/diffutils cmp -lb t/huge t/eguh
Time (mean ± σ): 1.669 s ± 0.011 s [User: 1.594 s, System: 0.073 s]
Range (min … max): 1.654 s … 1.689 s 10 runs
Warning: Ignoring non-zero exit code.
Benchmark 2: ./target/release/diffutils cmp -lb t/huge t/eguh
Time (mean ± σ): 714.2 ms ± 4.1 ms [User: 629.3 ms, System: 82.7 ms]
Range (min … max): 707.2 ms … 721.5 ms 10 runs
Warning: Ignoring non-zero exit code.
Benchmark 3: /opt/homebrew/bin/cmp -lb t/huge t/eguh
Time (mean ± σ): 4.213 s ± 0.050 s [User: 4.128 s, System: 0.081 s]
Range (min … max): 4.160 s … 4.316 s 10 runs
Warning: Ignoring non-zero exit code.
Benchmark 4: /usr/bin/cmp -lb t/huge t/eguh
Time (mean ± σ): 3.892 s ± 0.048 s [User: 3.819 s, System: 0.070 s]
Range (min … max): 3.808 s … 3.976 s 10 runs
Warning: Ignoring non-zero exit code.
Summary
./target/release/diffutils cmp -lb t/huge t/eguh ran
2.34 ± 0.02 times faster than ./bin/baseline/diffutils cmp -lb t/huge t/eguh
5.45 ± 0.07 times faster than /usr/bin/cmp -lb t/huge t/eguh
5.90 ± 0.08 times faster than /opt/homebrew/bin/cmp -lb t/huge t/eguh
2026-01-08 23:33:42 +01:00
Gustavo Noronha Silva
e00ff6b108
cmp: stop allocating for byte printing
...
This makes verbose comparison of 37MB completely different files 2.34x
faster than our own baseline, putting our cmp at almost 6x faster than
GNU cmp (/opt/homebrew/bin/cmp) on my M4 Pro Mac. The output remains
identical to that of GNU cmp. Mostly equal and smaller files do not
regress.
Benchmark 1: ./bin/baseline/diffutils cmp -lb t/huge t/eguh
Time (mean ± σ): 1.669 s ± 0.011 s [User: 1.594 s, System: 0.073 s]
Range (min … max): 1.654 s … 1.689 s 10 runs
Warning: Ignoring non-zero exit code.
Benchmark 2: ./target/release/diffutils cmp -lb t/huge t/eguh
Time (mean ± σ): 714.2 ms ± 4.1 ms [User: 629.3 ms, System: 82.7 ms]
Range (min … max): 707.2 ms … 721.5 ms 10 runs
Warning: Ignoring non-zero exit code.
Benchmark 3: /opt/homebrew/bin/cmp -lb t/huge t/eguh
Time (mean ± σ): 4.213 s ± 0.050 s [User: 4.128 s, System: 0.081 s]
Range (min … max): 4.160 s … 4.316 s 10 runs
Warning: Ignoring non-zero exit code.
Benchmark 4: /usr/bin/cmp -lb t/huge t/eguh
Time (mean ± σ): 3.892 s ± 0.048 s [User: 3.819 s, System: 0.070 s]
Range (min … max): 3.808 s … 3.976 s 10 runs
Warning: Ignoring non-zero exit code.
Summary
./target/release/diffutils cmp -lb t/huge t/eguh ran
2.34 ± 0.02 times faster than ./bin/baseline/diffutils cmp -lb t/huge t/eguh
5.45 ± 0.07 times faster than /usr/bin/cmp -lb t/huge t/eguh
5.90 ± 0.08 times faster than /opt/homebrew/bin/cmp -lb t/huge t/eguh
2026-01-02 11:21:48 -03:00
Sylvestre Ledru
c38fe5f2e5
Merge pull request #158 from uutils/cargo-dist-3
...
cargo-dist: remove duplicate info
2026-01-02 10:51:12 +01:00
Sylvestre Ledru
44565de705
cargo-dist: refresh & remove duplicate info
2026-01-02 10:43:28 +01:00
Sylvestre Ledru
8c8c1db5c6
Merge pull request #157 from uutils/cargo-dist-2
...
update cargo dist conf
2026-01-01 20:33:26 +01:00
Sylvestre Ledru
3e02493701
ride along: ship fuzz/Cargo.lock
2026-01-01 20:03:49 +01:00
Sylvestre Ledru
c6e8b46d21
update cargo dist
2026-01-01 20:03:47 +01:00
Sylvestre Ledru
125fc298c5
Merge pull request #156 from uutils/0.5.0
...
prepare version 0.5.0
2026-01-01 19:36:05 +01:00
Sylvestre Ledru
16673cf466
prepare version 0.5.0
2026-01-01 18:40:17 +01:00
Sylvestre Ledru
f66ad85757
Merge pull request #152 from kov/cmp_fast_path
...
cmp_fast_path test improvements
2026-01-01 18:32:30 +01:00
Sylvestre Ledru
de9bf94d01
Merge pull request #154 from uutils/renovate/itoa-1.x-lockfile
...
chore(deps): update rust crate itoa to v1.0.17
2025-12-27 11:17:32 +01:00
renovate[bot]
940a0e00b6
chore(deps): update rust crate itoa to v1.0.17
2025-12-27 09:24:33 +00:00
Gustavo Noronha Silva
7ddc6c6c4b
Make cmp_fast_path more robust
...
On my Mac I see this test fail quite consistently. This change makes it
more resilient in systems with slower startup times, while still
allowing faster systems to finish as soon as possible.
2025-12-26 14:52:16 -03:00
Gustavo Noronha Silva
8997ac06b8
Use specific locale for cmp_fast_path test
...
The test was failing in the regular MacOS terminal due to it defaulting
to LC_ALL=C. Best to standardize like the other tests that check for
locale-dependent output.
2025-12-26 14:52:12 -03:00
Daniel Hofstetter
df90e37566
Merge pull request #151 from uutils/renovate/tempfile-3.x-lockfile
...
chore(deps): update rust crate tempfile to v3.24.0
2025-12-24 07:13:44 +01:00
renovate[bot]
f25cad8497
chore(deps): update rust crate tempfile to v3.24.0
2025-12-24 01:55:24 +00:00
LunarEclipse
a09dcac41d
Fix compilation for 32-bit targets
2025-12-22 00:04:48 +01:00
Daniel Hofstetter
98bf765a98
Merge pull request #150 from uutils/renovate/itoa-1.x-lockfile
...
chore(deps): update rust crate itoa to v1.0.16
2025-12-21 10:14:13 +01:00
renovate[bot]
1e1e968027
chore(deps): update rust crate itoa to v1.0.16
2025-12-21 05:08:26 +00:00
Daniel Hofstetter
4eee9cefa0
Merge pull request #147 from uutils/renovate/actions-cache-5.x
...
chore(deps): update actions/cache action to v5
2025-12-12 07:14:43 +01:00
renovate[bot]
67589b9331
chore(deps): update actions/cache action to v5
2025-12-12 02:51:06 +00:00
Daniel Hofstetter
83f6d2db7c
tests: fix deprecation warnings from assert_cmd
2025-11-02 23:28:41 +01:00
Daniel Hofstetter
b193ea0c43
Merge pull request #141 from uutils/renovate/assert_cmd-2.x-lockfile
...
chore(deps): update rust crate assert_cmd to v2.1.1
2025-10-29 16:52:48 +01:00
renovate[bot]
5f2ba7a84c
chore(deps): update rust crate assert_cmd to v2.1.1
2025-10-29 15:19:26 +00:00
E
15473edcd7
Cargo.toml sync 2 profiles with other uutils
2025-10-29 16:18:18 +01:00
renovate[bot]
30b6bd2523
chore(deps): update rust crate assert_cmd to v2.1.0
2025-10-29 10:21:47 +01:00
renovate[bot]
590a4b405e
chore(deps): update rust crate regex to v1.12.2
2025-10-13 21:31:41 +02:00
Daniel Hofstetter
418596138e
Merge pull request #135 from uutils/renovate/regex-1.x-lockfile
...
chore(deps): update rust crate regex to v1.12.1
2025-10-11 07:17:39 +02:00
renovate[bot]
eadc8c3dc5
chore(deps): update rust crate regex to v1.12.1
2025-10-11 00:35:41 +00:00
renovate[bot]
2806ec2029
chore(deps): update rust crate unicode-width to v0.2.2
2025-10-09 13:25:15 +02:00
renovate[bot]
dbd60416e6
chore(deps): update rust crate regex to v1.11.3
2025-10-09 13:13:45 +02:00
Olivier Tilloy
392b8fa07b
cargo dist: update to a recent release
2025-09-24 19:18:39 +02:00
Olivier Tilloy
44645e5428
Merge pull request #131 from uutils/renovate/tempfile-3.x-lockfile
...
chore(deps): update rust crate tempfile to v3.23.0
2025-09-23 12:55:07 +02:00
renovate[bot]
644a794067
chore(deps): update rust crate tempfile to v3.23.0
2025-09-23 10:46:28 +00:00
Olivier Tilloy
19b79efd76
Merge pull request #130 from uutils/renovate/tempfile-3.x-lockfile
...
chore(deps): update rust crate tempfile to v3.22.0
2025-09-09 21:57:23 +02:00
renovate[bot]
3380bab935
chore(deps): update rust crate tempfile to v3.22.0
2025-09-09 17:31:06 +00:00
Olivier Tilloy
a0a05eeba9
Merge pull request #129 from uutils/renovate/chrono-0.x-lockfile
...
fix(deps): update rust crate chrono to v0.4.42
2025-09-08 12:56:03 +02:00
renovate[bot]
611e380266
fix(deps): update rust crate chrono to v0.4.42
2025-09-08 10:46:32 +00:00
Daniel Hofstetter
af0dc993b8
Merge pull request #128 from uutils/renovate/regex-1.x-lockfile
...
fix(deps): update rust crate regex to v1.11.2
2025-08-24 18:49:09 +02:00
renovate[bot]
a680c4f467
fix(deps): update rust crate regex to v1.11.2
2025-08-24 16:38:04 +00:00
Daniel Hofstetter
0b604f67aa
Merge pull request #127 from uutils/renovate/tempfile-3.x-lockfile
...
chore(deps): update rust crate tempfile to v3.21.0
2025-08-20 08:00:37 +02:00
renovate[bot]
cc67cbcc59
chore(deps): update rust crate tempfile to v3.21.0
2025-08-20 01:43:49 +00:00
Olivier Tilloy
a95ca0062f
Merge pull request #125 from cakebaker/clippy_fix_warnings
...
clippy: fix warnings from `unnecessary_unwrap` lint
2025-08-11 13:09:06 +02:00
Daniel Hofstetter
b59d9be943
clippy: fix warnings from unnecessary_unwrap lint
2025-08-08 11:48:58 +02:00
Olivier Tilloy
3654b82a6d
Merge pull request #123 from cakebaker/clippy_fix_warnings
...
clippy: fix warnings
2025-06-27 11:28:09 +02:00
Daniel Hofstetter
7df02399ba
clippy: fix warning from ptr_arg lint
2025-06-27 10:52:37 +02:00
Daniel Hofstetter
03fe614087
clippy: fix warnings from useless_format lint
2025-06-27 10:50:06 +02:00
Daniel Hofstetter
8261d790f4
clippy: fix warnings from uninlined_format_args
2025-06-27 10:45:40 +02:00
Olivier Tilloy
168dae3aee
Merge pull request #122 from uutils/renovate/unicode-width-0.x-lockfile
...
fix(deps): update rust crate unicode-width to v0.2.1
2025-06-10 06:41:24 +02:00
renovate[bot]
c7d4140fa3
fix(deps): update rust crate unicode-width to v0.2.1
2025-06-09 23:03:42 +00:00
Sylvestre Ledru
dee3bc1d66
Merge pull request #117 from sami-daniel/main
...
Create the side-by-side option (-y) feature for the diff command (Incomplete)
2025-06-03 14:01:38 +02:00
Sami Daniel
fce0881e27
Merge branch 'main' into main
2025-06-02 22:37:12 -03:00
Sami Daniel (Tsoi)
45b3072534
Configure CI fuzzer for fuzz_side
...
Configuring CI to run fuzz from fuzz_side
2025-06-02 22:33:21 -03:00
renovate[bot]
a3e57c950e
chore(deps): update rust crate tempfile to v3.20.0
2025-06-02 22:33:21 -03:00
Sami Daniel (Tsoi)
1ef6923b7d
Add side by side diff (partial)
...
Create the diff -y utility, this time introducing tests and changes focused
mainly on the construction of the utility and issues related to alignment
and response tabulation. New parameters were introduced such as the size
of the total width of the output in the parameters. A new calculation was
introduced to determine the size of the output columns and the maximum
total column size. The tab and spacing mechanism has the same behavior
as the original diff, with tabs and spaces formatted in the same way.
- Introducing tests for the diff 'main' function
- Introducing fuzzing for side diff utility
- Introducing tests for internal mechanisms
- Modular functions that allow consistent changes across the entire project
2025-06-02 22:33:04 -03:00
renovate[bot]
dff98a2969
fix(deps): update rust crate chrono to v0.4.41
2025-06-02 22:33:04 -03:00
Sami Daniel
8105420bb4
Create the side-by-side option (-y) feature for the diff command (Incomplete).
...
- Create the function, in the utils package, limited_string that allows you to truncate a string based on a
delimiter (May break the encoding of the character where it was cut)
- Create tests for limited_string function
- Add support for -y and --side-by-side flags that enables diff output for side-by-side mode
- Create implementation of the diff -y (SideBySide) command, base command for sdiff, using the crate
diff as engine. Currently it does not fully represent GNU diff -y, some flags (|, (, ), , /) could
not be developed due to the limitation of the engine we currently use (crate diff), which did not
allow perform logic around it. Only the use of '<' and '>' were enabled.
- Create tests for SideBySide implementation
2025-06-02 22:32:11 -03:00
Daniel Hofstetter
5b791e8bf6
Merge pull request #119 from uutils/renovate/tempfile-3.x-lockfile
...
chore(deps): update rust crate tempfile to v3.20.0
2025-05-12 07:17:30 +02:00
renovate[bot]
b31df0b5e8
chore(deps): update rust crate tempfile to v3.20.0
2025-05-11 22:12:26 +00:00
Olivier Tilloy
c02273c827
Merge pull request #118 from uutils/renovate/chrono-0.x-lockfile
...
fix(deps): update rust crate chrono to v0.4.41
2025-04-29 17:58:44 +02:00
renovate[bot]
199c7f169c
fix(deps): update rust crate chrono to v0.4.41
2025-04-29 15:45:04 +00:00
Olivier Tilloy
978390c14d
Merge pull request #116 from uutils/renovate/assert_cmd-2.x-lockfile
...
chore(deps): update rust crate assert_cmd to v2.0.17
2025-04-16 22:04:28 +02:00
renovate[bot]
87ccc8e4c2
chore(deps): update rust crate assert_cmd to v2.0.17
2025-04-16 19:55:52 +00:00
Olivier Tilloy
9bc53486df
Merge pull request #115 from uutils/renovate/tempfile-3.x-lockfile
...
chore(deps): update rust crate tempfile to v3.19.1
2025-03-20 06:47:26 +01:00
renovate[bot]
0d7e4d82ae
chore(deps): update rust crate tempfile to v3.19.1
2025-03-19 22:53:36 +00:00
Olivier Tilloy
360bff50ed
Merge pull request #114 from uutils/renovate/tempfile-3.x-lockfile
...
chore(deps): update rust crate tempfile to v3.19.0
2025-03-14 06:28:33 +01:00
renovate[bot]
26ee98dfaa
chore(deps): update rust crate tempfile to v3.19.0
2025-03-14 02:47:05 +00:00
Olivier Tilloy
009d64acd2
Merge pull request #113 from uutils/renovate/tempfile-3.x-lockfile
...
chore(deps): update rust crate tempfile to v3.18.0
2025-03-07 06:42:32 +01:00
renovate[bot]
b53d4f427c
chore(deps): update rust crate tempfile to v3.18.0
2025-03-06 23:24:15 +00:00
Olivier Tilloy
8448fd8068
Merge pull request #111 from uutils/renovate/tempfile-3.x-lockfile
...
chore(deps): update rust crate tempfile to v3.17.1
2025-03-04 12:08:10 +01:00
renovate[bot]
d573c3ae1d
chore(deps): update rust crate tempfile to v3.17.1
2025-03-04 10:51:49 +00:00
Olivier Tilloy
ca1c4c3618
Merge pull request #110 from uutils/renovate/predicates-3.x-lockfile
...
chore(deps): update rust crate predicates to v3.1.3
2025-03-04 11:50:11 +01:00
renovate[bot]
ba1cac3c20
chore(deps): update rust crate predicates to v3.1.3
2025-03-04 10:40:57 +00:00
Olivier Tilloy
949cccebd4
Merge pull request #109 from uutils/renovate/chrono-0.x-lockfile
...
fix(deps): update rust crate chrono to v0.4.40
2025-03-04 11:39:52 +01:00
renovate[bot]
bbdfa1b765
fix(deps): update rust crate chrono to v0.4.40
2025-03-04 10:29:12 +00:00
Olivier Tilloy
2f1a89173a
Merge pull request #108 from uutils/renovate/itoa-1.x-lockfile
...
fix(deps): update rust crate itoa to v1.0.15
2025-03-04 11:27:34 +01:00
renovate[bot]
f9553984f4
fix(deps): update rust crate itoa to v1.0.15
2025-03-04 10:09:06 +00:00
Olivier Tilloy
59920040f6
Merge pull request #112 from oSoMoN/ci-macos-use-gpatch
...
ci: make sure gpatch is actually being used for tests on MacOS
2025-03-04 11:07:02 +01:00
Olivier Tilloy
44c195c0b2
ci: make sure gpatch is actually being used for tests on MacOS
2025-03-04 10:58:14 +01:00
Daniel Hofstetter
fdc69921e6
Merge pull request #107 from uutils/renovate/codecov-codecov-action-5.x
...
chore(deps): update codecov/codecov-action action to v5
2024-11-16 09:52:40 +01:00
Daniel Hofstetter
4ff2d6b182
ci: fix deprecated codecov argument
2024-11-16 09:42:50 +01:00
renovate[bot]
39e092488b
chore(deps): update codecov/codecov-action action to v5
2024-11-16 07:49:05 +00:00
Olivier Tilloy
dcd3dfd6e0
Merge pull request #106 from cakebaker/ci_fix_cargo_features_option
...
ci: remove `CARGO_FEATURES_OPTION`
2024-11-08 16:50:55 +01:00
Daniel Hofstetter
90bed40046
ci: remove CARGO_FEATURES_OPTION
2024-11-08 09:48:11 +01:00
Sylvestre Ledru
1575aec22c
Merge pull request #105 from cakebaker/fix_unused_import_on_windows
...
Fix "unused import" warning on Windows
2024-11-08 09:36:06 +01:00
Daniel Hofstetter
4f2f869021
Fix "unused import" warning on Windows
2024-11-08 09:06:33 +01:00
Daniel Hofstetter
3101aa1aff
Merge pull request #104 from uutils/renovate/tempfile-3.x-lockfile
...
chore(deps): update rust crate tempfile to v3.14.0
2024-11-08 07:09:59 +01:00
renovate[bot]
14b062251f
chore(deps): update rust crate tempfile to v3.14.0
2024-11-08 03:47:37 +00:00
Daniel Hofstetter
0e11811ce1
Merge pull request #102 from uutils/renovate/regex-1.x-lockfile
...
fix(deps): update rust crate regex to v1.11.1
2024-10-24 17:14:14 +02:00
renovate[bot]
3de1930bbe
fix(deps): update rust crate regex to v1.11.1
2024-10-24 15:05:12 +00:00
Sylvestre Ledru
889e7bb7cc
Merge pull request #101 from cakebaker/fix_clippy_warnings
...
Fix clippy warnings
2024-10-18 09:53:12 +02:00
Daniel Hofstetter
1910cbfe58
Fix warnings from needless_borrow lint
2024-10-18 09:10:03 +02:00
Daniel Hofstetter
c70cc1921c
Fix warnings from write_with_newline lint
2024-10-18 09:08:07 +02:00
Olivier Tilloy
933230e103
Merge pull request #100 from kov/cmp-mem
...
cmp: print verbose diffs as we find them
2024-10-08 14:07:56 +02:00
Gustavo Noronha Silva
a316262603
cmp: print verbose diffs as we find them
...
Before this change, we would first find all changes so we could obtain
the largest offset we will report and use that to set up the padding.
Now we use the file sizes to estimate the largest possible offset.
Not only does this allow us to print earlier, reduces memory usage, as
we do not store diffs to report later, but it also fixes a case in
which our output was different to GNU cmp's - because it also seems
to estimate based on size.
Memory usage drops by a factor of 1000(!), without losing performance
while comparing 2 binaries of hundreds of MBs:
Before:
Maximum resident set size (kbytes): 2489260
Benchmark 1: ../target/release/diffutils \
cmp -l -b /usr/lib64/chromium-browser/chromium-browser /usr/lib64/firefox/libxul.so
Time (mean ± σ): 14.466 s ± 0.166 s [User: 12.367 s, System: 2.012 s]
Range (min … max): 14.350 s … 14.914 s 10 runs
After:
Maximum resident set size (kbytes): 2636
Benchmark 1: ../target/release/diffutils \
cmp -l -b /usr/lib64/chromium-browser/chromium-browser /usr/lib64/firefox/libxul.so
Time (mean ± σ): 13.724 s ± 0.038 s [User: 12.263 s, System: 1.372 s]
Range (min … max): 13.667 s … 13.793 s 10 runs
2024-10-08 08:28:06 -03:00
Sylvestre Ledru
0bf04b4395
README.md: be explicit with the list of tools ( #99 )
2024-10-02 12:00:43 +00:00
Sylvestre Ledru
7480068e7d
Merge pull request #93 from oSoMoN/upstream-test-suite-skipped-tests-issue92
...
Upstream test suite: correctly handle tests that are skipped (fixes #92 )
2024-10-02 13:55:53 +02:00
Olivier Tilloy
763074a804
Merge pull request #88 from kov/cmp
...
Add cmp utility (fixes #14 )
2024-10-01 18:59:15 +02:00
Gustavo Noronha Silva
fac8dab182
cmp: completely avoid Rust fmt in verbose mode
...
This makes the code less readable, but gets us a massive improvement
to performance. Comparing ~36M completely different files now takes
~40% of the time. Compared to GNU cmp, we now run the same comparison
in ~26% of the time.
This also improves comparing binary files. A comparison of chromium
and libxul now takes ~60% of the time. We also beat GNU cmpi by about
the same margin.
Before:
> hyperfine --warmup 1 -i --output=pipe \
'../target/release/diffutils cmp -l huge huge.3'
Benchmark 1: ../target/release/diffutils cmp -l huge huge.3
Time (mean ± σ): 2.000 s ± 0.016 s [User: 1.603 s, System: 0.392 s]
Range (min … max): 1.989 s … 2.043 s 10 runs
Warning: Ignoring non-zero exit code.
> hyperfine --warmup 1 -i --output=pipe \
'../target/release/diffutils cmp -l -b \
/usr/lib64/chromium-browser/chromium-browser \
/usr/lib64/firefox/libxul.so'
Benchmark 1: ../target/release/diffutils cmp -l -b /usr/lib64/chromium-browser/chromium-browser /usr/lib64/firefox/libxul.so
Time (mean ± σ): 24.704 s ± 0.162 s [User: 21.948 s, System: 2.700 s]
Range (min … max): 24.359 s … 24.889 s 10 runs
Warning: Ignoring non-zero exit code.
After:
> hyperfine --warmup 1 -i --output=pipe \
'../target/release/diffutils cmp -l huge huge.3'
Benchmark 1: ../target/release/diffutils cmp -l huge huge.3
Time (mean ± σ): 849.5 ms ± 6.2 ms [User: 538.3 ms, System: 306.8 ms]
Range (min … max): 839.4 ms … 857.7 ms 10 runs
Warning: Ignoring non-zero exit code.
> hyperfine --warmup 1 -i --output=pipe \
'../target/release/diffutils cmp -l -b \
/usr/lib64/chromium-browser/chromium-browser \
/usr/lib64/firefox/libxul.so'
Benchmark 1: ../target/release/diffutils cmp -l -b /usr/lib64/chromium-browser/chromium-browser /usr/lib64/firefox/libxul.so
Time (mean ± σ): 14.646 s ± 0.040 s [User: 12.328 s, System: 2.286 s]
Range (min … max): 14.585 s … 14.702 s 10 runs
Warning: Ignoring non-zero exit code.
2024-10-01 13:30:57 -03:00
Gustavo Noronha Silva
2e681301b4
cmp: avoid using advanced rust formatting for -l
...
Octal conversion and simple integer to string both show up in profiling.
This change improves comparing ~36M completely different files wth both
-l and -b by ~11-13%.
2024-10-01 13:30:57 -03:00
Gustavo Noronha Silva
50057412bd
Add cmp utility
...
The utility should support all the arguments supported by GNU cmp and
perform slightly better.
On a "bad" scenario, ~36M files which are completely different, our
version runs in ~72% of the time of the original on my M1 Max:
> hyperfine --warmup 1 -i --output=pipe \
'cmp -l huge huge.3'
Benchmark 1: cmp -l huge huge.3
Time (mean ± σ): 3.237 s ± 0.014 s [User: 2.891 s, System: 0.341 s]
Range (min … max): 3.221 s … 3.271 s 10 runs
Warning: Ignoring non-zero exit code.
> hyperfine --warmup 1 -i --output=pipe \
'../target/release/diffutils cmp -l huge huge.3'
Benchmark 1: ../target/release/diffutils cmp -l huge huge.3
Time (mean ± σ): 2.392 s ± 0.009 s [User: 1.978 s, System: 0.406 s]
Range (min … max): 2.378 s … 2.406 s 10 runs
Warning: Ignoring non-zero exit code.
Our cmp runs in ~116% of the time when comparing libxul.so to the
chromium-browser binary with -l and -b. In a best case scenario of
comparing 2 files which are the same except for the last byte, our
tool is slightly faster.
2024-10-01 13:30:57 -03:00
Daniel Hofstetter
68292b370d
Merge pull request #95 from uutils/renovate/regex-1.x-lockfile
...
Update Rust crate regex to v1.11.0
2024-09-29 17:43:59 +02:00
renovate[bot]
26bcc102c0
Update Rust crate regex to v1.11.0
2024-09-29 15:37:34 +00:00
Olivier Tilloy
50198ef2c1
Merge pull request #94 from uutils/renovate/tempfile-3.x-lockfile
...
Update Rust crate tempfile to v3.13.0
2024-09-28 23:45:47 +02:00
renovate[bot]
bfdbf6d7b2
Update Rust crate tempfile to v3.13.0
2024-09-28 19:37:34 +00:00
Olivier Tilloy
f75c187971
Upstream test suite: correctly handle tests that are skipped ( fixes #92 )
2024-09-27 19:45:34 +02:00
Sylvestre Ledru
d07c0438b5
Merge pull request #91 from oSoMoN/upstream-test-suite-fetch-init-issue90
...
When running the upstream test suite, fetch missing tests/init.sh (fixes #90 )
2024-09-27 07:57:43 +02:00
Gustavo Noronha Silva
72c7802f06
Take utility name as first parameter on diffutils
...
This is in preparation for adding the other diffutils commands, cmp,
diff3, sdiff.
We use a similar strategy to uutils/coreutils, with the single binary
acting as one of the supported tools if called through a symlink with
the appropriate name. When using the multi-tool binary directly, the
utility needds to be the first parameter.
2024-09-26 21:22:24 -03:00
Olivier Tilloy
c1b66e4a47
When running the upstream test suite, fetch missing tests/init.sh ( fixes #90 )
2024-09-26 22:44:56 +02:00
Daniel Hofstetter
9103365691
Merge pull request #87 from uutils/renovate/unicode-width-0.x
...
Update Rust crate unicode-width to 0.2.0
2024-09-20 07:24:05 +02:00
renovate[bot]
7574243de1
Update Rust crate unicode-width to 0.2.0
2024-09-20 05:14:22 +00:00
Olivier Tilloy
6f3834d69d
Merge pull request #86 from uutils/renovate/unicode-width-0.x-lockfile
...
Update Rust crate unicode-width to v0.1.14
2024-09-19 22:57:18 +02:00
Olivier Tilloy
d8b91fd60e
Update unit test expectation
2024-09-19 22:33:33 +02:00
renovate[bot]
7c9c2a1ab2
Update Rust crate unicode-width to v0.1.14
2024-09-19 20:09:56 +00:00
Daniel Hofstetter
63d51bcd69
Merge pull request #85 from uutils/renovate/pretty_assertions-1.x-lockfile
...
Update Rust crate pretty_assertions to v1.4.1
2024-09-16 13:30:18 +02:00
renovate[bot]
d5bce65a29
Update Rust crate pretty_assertions to v1.4.1
2024-09-16 10:41:54 +00:00
Sylvestre Ledru
9db1eab1d0
Revert "cargo-dist: generate more targets"
...
This reverts commit 80b993141b .
2024-09-12 10:10:47 +02:00
Sylvestre Ledru
2392acfad1
Merge pull request #84 from cakebaker/fix_clippy_warnings
...
Fix clippy warnings in tests
2024-09-06 10:05:13 +02:00
Daniel Hofstetter
2a899a9fc7
Fix clippy warnings in tests
...
from needless_borrows_for_generic_args lint
2024-09-06 09:27:53 +02:00
Sylvestre Ledru
6ec8370b4b
Merge pull request #70 from oSoMoN/grcov-instrumentation-based-coverage
...
Use the instrumentation-based code coverage implementation
2024-09-06 08:54:32 +02:00
Olivier Tilloy
dbabf399d5
Use the instrumentation-based code coverage implementation
2024-08-16 00:35:46 +02:00
Daniel Hofstetter
b815162b80
Merge pull request #83 from uutils/renovate/assert_cmd-2.x-lockfile
...
Update Rust crate assert_cmd to v2.0.16
2024-08-09 08:08:54 +02:00
renovate[bot]
12b205e655
Update Rust crate assert_cmd to v2.0.16
2024-08-09 03:18:54 +00:00
Daniel Hofstetter
8a6504dd83
Merge pull request #82 from uutils/renovate/tempfile-3.x-lockfile
...
Update Rust crate tempfile to v3.12.0
2024-08-07 08:08:29 +02:00
renovate[bot]
67ef43083a
Update Rust crate tempfile to v3.12.0
2024-08-06 23:23:06 +00:00
Daniel Hofstetter
b1738538a8
Merge pull request #81 from uutils/renovate/tempfile-3.x-lockfile
...
Update Rust crate tempfile to v3.11.0
2024-08-03 07:01:16 +02:00
renovate[bot]
eea6b62b20
Update Rust crate tempfile to v3.11.0
2024-08-02 22:18:35 +00:00
Daniel Hofstetter
f08a3bf512
Merge pull request #80 from uutils/renovate/regex-1.x-lockfile
...
Update Rust crate regex to v1.10.6
2024-08-02 18:41:22 +02:00
renovate[bot]
e55ee893dd
Update Rust crate regex to v1.10.6
2024-08-02 16:27:14 +00:00
Olivier Tilloy
24245ee098
Merge pull request #78 from uutils/renovate/assert_cmd-2.x-lockfile
...
Update Rust crate assert_cmd to v2.0.15
2024-07-28 15:12:16 +00:00
Olivier Tilloy
11f815a7c2
Merge pull request #79 from uutils/renovate/predicates-3.x-lockfile
...
Update Rust crate predicates to v3.1.2
2024-07-28 15:11:13 +00:00
renovate[bot]
e9a8141618
Update Rust crate predicates to v3.1.2
2024-07-25 17:59:30 +00:00
renovate[bot]
c9a756eb43
Update Rust crate assert_cmd to v2.0.15
2024-07-25 14:28:54 +00:00
Sylvestre Ledru
468c4bf934
Merge pull request #63 from oSoMoN/io-error-msg
...
Make error message consistent with GNU diff's implementation when failing to read input file(s)
2024-06-27 14:16:10 +02:00
Daniel Hofstetter
1e8fdd58d9
Merge pull request #77 from uutils/renovate/regex-1.x-lockfile
...
Update Rust crate regex to v1.10.5
2024-06-09 15:59:55 +02:00
renovate[bot]
e98b5e179e
Update Rust crate regex to v1.10.5
2024-06-09 13:30:51 +00:00
Sylvestre Ledru
1901982375
Merge pull request #76 from uutils/renovate/unicode-width-0.x-lockfile
...
Update Rust crate unicode-width to v0.1.13
2024-06-04 20:40:56 +02:00
renovate[bot]
eee6f49920
Update Rust crate unicode-width to v0.1.13
2024-06-04 17:06:50 +00:00
Olivier Tilloy
8a3a977d2c
Update the expected error message for Windows
2024-06-04 14:57:50 +02:00
Olivier Tilloy
fa4e0c6097
Make error message consistent with GNU diff's implementation when failing to read input file(s)
2024-06-04 14:57:50 +02:00
Sylvestre Ledru
d362046ae5
release v0.4.2
2024-05-19 19:09:05 +02:00
Daniel Hofstetter
7964afa336
Merge pull request #74 from uutils/cargo-dist
...
cargo-dist: generate more targets
2024-05-19 12:40:07 +02:00
Sylvestre Ledru
80b993141b
cargo-dist: generate more targets
2024-05-19 11:59:26 +02:00
Daniel Hofstetter
d922313c8c
Merge pull request #71 from uutils/renovate/libfuzzer-sys-0.x
...
Update Rust crate libfuzzer-sys to 0.4.7
2024-05-01 13:37:01 +02:00
Daniel Hofstetter
3e246ab36c
Merge pull request #72 from uutils/renovate/pretty_assertions-1.x
...
Update Rust crate pretty_assertions to 1.4.0
2024-05-01 13:29:09 +02:00
renovate[bot]
4b70969ff1
Update Rust crate pretty_assertions to 1.4.0
2024-05-01 09:56:55 +00:00
renovate[bot]
767c6f6c4a
Update Rust crate libfuzzer-sys to 0.4.7
2024-05-01 09:56:50 +00:00
Sylvestre Ledru
1f896ca1ac
Merge pull request #69 from oSoMoN/cargo-dist-version-0.13.3
...
CI: Update 'cargo dist' to version 0.13.3
2024-05-01 08:31:36 +02:00
Olivier Tilloy
713bd210ab
CI: Update 'cargo dist' to version 0.13.3
2024-04-30 23:55:49 +02:00
Olivier Tilloy
61314eaf4e
Merge pull request #65 from uutils/renovate/unicode-width-0.x
...
Update Rust crate unicode-width to 0.1.12
2024-04-30 18:47:39 +02:00
renovate[bot]
bf9147733d
Update Rust crate unicode-width to 0.1.12
2024-04-30 05:30:32 +00:00
Daniel Hofstetter
ce8457cbdb
Merge pull request #67 from oSoMoN/macos-ci-install-gpatch
...
CI: install GNU patch on MacOS (fixes #66 )
2024-04-30 07:14:02 +02:00
Olivier Tilloy
df778c610b
CI: install GNU patch on MacOS ( fixes #66 )
2024-04-29 22:55:08 +02:00
Sylvestre Ledru
d92132e721
version 0.4.1
2024-04-27 13:12:58 +02:00
Sylvestre Ledru
99d4d02985
add missing copyright
2024-04-27 13:12:16 +02:00
Olivier Tilloy
e7dc6558c6
Merge pull request #56 from TanmayPatil105/handle-directory-input
...
Handle directory-file and file-directory comparisons in the diff
2024-04-23 22:40:28 +02:00
Tanmay Patil
8c6a648aef
Merge branch 'main' into handle-directory-input
2024-04-23 23:11:31 +05:30
Tanmay Patil
0304391bc5
Create test files in temporary directory
2024-04-23 22:44:06 +05:30
Sylvestre Ledru
8de0ca60d1
Merge pull request #52 from oSoMoN/long-options
...
Handle long option names for the supported output styles…
2024-04-23 18:44:47 +02:00
Sylvestre Ledru
43b9c524d9
Merge pull request #62 from oSoMoN/integration-no-hardcoded-filename
...
Un-hardcode a test filename in an integration test (fixes #61 )
2024-04-23 18:36:33 +02:00
Olivier Tilloy
3dc3fdf5cd
Un-hardcode a test filename in an integration test ( fixes #61 )
2024-04-23 18:00:56 +02:00
Olivier Tilloy
b7261a43f4
Break out the logic to match context/unified diff params into separate functions, for improved readability
2024-04-22 18:01:00 +02:00
Olivier Tilloy
37fe1ae808
Handle --normal, -e and --ed options
2024-04-22 18:01:00 +02:00
Olivier Tilloy
22d973fce6
Parse all valid arguments accepted by GNU diff to request a regular context (with an optional number of lines)
2024-04-22 18:01:00 +02:00
Olivier Tilloy
fe28610f21
Parse all valid arguments accepted by GNU diff to request a unified context (with an optional number of lines)
2024-04-22 18:01:00 +02:00
Sylvestre Ledru
3a8eddfe2c
Fix typos
2024-04-21 16:07:01 +02:00
Tanmay Patil
476e69ee20
Windows: Fix tests
2024-04-21 18:06:15 +05:30
Tanmay Patil
65993d6a13
Add tests for diff FILE DIRECTORY
2024-04-21 16:10:48 +05:30
Tanmay Patil
39d2ece187
Handle directory-file and file-directory comparisons in the diff
...
GNU diff treats `diff DIRECTORY FILE` as `diff DIRECTORY/FILE FILE`
2024-04-21 16:10:48 +05:30
Sylvestre Ledru
46a26e896b
Merge pull request #58 from oSoMoN/ed-diff-tests-fix-path
...
Move test assertions in the cfg block where they belong (fixes #3 )
2024-04-21 09:37:58 +02:00
Olivier Tilloy
14799eea89
Move test assertions in the cfg block where they belong
2024-04-21 00:13:52 +02:00
Olivier Tilloy
831348d1fc
Fix file path in ed diff tests
2024-04-21 00:12:43 +02:00
Sylvestre Ledru
00a5c0ba44
Merge pull request #57 from oSoMoN/windows-fix-path-for-ci
...
CI: On Windows, use GNU's patch.exe instead of Strawberry Perl patch
2024-04-20 19:44:40 +02:00
Olivier Tilloy
bf104648c1
CI: On Windows, use GNU's patch.exe instead of Strawberry Perl patch
2024-04-20 19:30:34 +02:00
Olivier Tilloy
5669f164b3
Merge pull request #34 from uutils/renovate/regex-1.x
...
Update Rust crate regex to 1.10.4
2024-04-17 19:19:00 +02:00
Sylvestre Ledru
11bf271666
Merge pull request #9 from uutils/renovate/codecov-codecov-action-4.x
...
Update codecov/codecov-action action to v4
2024-04-16 22:18:53 +02:00
renovate[bot]
674974d5e6
Update Rust crate regex to 1.10.4
2024-04-16 19:54:53 +00:00
Sylvestre Ledru
2ba35db431
Merge pull request #4 from uutils/renovate/diff-0.x
...
Update Rust crate diff to 0.1.13
2024-04-16 21:53:45 +02:00
renovate[bot]
fcec7277c9
Update codecov/codecov-action action to v4
2024-04-16 19:35:04 +00:00
renovate[bot]
b8efad6b90
Update Rust crate diff to 0.1.13
2024-04-16 19:35:01 +00:00
Sylvestre Ledru
68e2f51983
Merge pull request #54 from uutils/renovate/chrono-0.x
...
Update Rust crate chrono to 0.4.38
2024-04-16 21:34:16 +02:00
Sylvestre Ledru
4edaee190f
Merge pull request #55 from oSoMoN/use-codecov-token
...
Use the private Codecov token stored as a secret,
2024-04-16 21:34:01 +02:00
Olivier Tilloy
7f7821f558
Use the private Codecov token stored as a secret,
...
to work around rate-limiting issues like https://github.com/codecov/codecov-action/issues/557
2024-04-16 18:37:59 +02:00
renovate[bot]
1149a247dd
Update Rust crate chrono to 0.4.38
2024-04-16 16:20:52 +00:00
Olivier Tilloy
1b311c6673
Merge pull request #33 from TanmayPatil105/context-diff-modification-time
...
Display modification times of input files in context and unified diff
2024-04-16 18:20:00 +02:00
Tanmay Patil
aedd0684d1
Replace only the first two occurences of timestamp regex
2024-04-16 10:41:38 +05:30
Tanmay Patil
54c02bdf0b
Use NamedTempFile instead of manually creating files
2024-04-16 10:17:09 +05:30
Tanmay Patil
ba7cb0aef9
Do not create dummy files
...
Since we now returning SystemTime::now() for invalid file input,
there is no need to crate dummy files
2024-04-14 22:56:37 +05:30
Tanmay Patil
33783d094e
Improve tests
2024-04-14 17:16:53 +05:30
Tanmay Patil
900e1c3a68
Tests: Replace modification time in diff with "TIMESTAMP" placeholder
2024-04-14 13:43:30 +05:30
Tanmay Patil
0a77fe12b9
Add tests for get_modification_time function
2024-04-13 21:31:13 +05:30
Tanmay Patil
86bd05c739
Merge branch 'context-diff-modification-time' of github.com:TanmayPatil105/diffutils into context-diff-modification-time
2024-04-10 22:31:09 +05:30
Tanmay Patil
00e18a6b0c
Define assert_diff_eq macro for context&unified diff comparison
2024-04-10 22:20:48 +05:30
Tanmay
f6eb0835b0
Merge branch 'main' into context-diff-modification-time
2024-04-10 22:13:18 +05:30
Sylvestre Ledru
be66ff3299
Merge pull request #47 from oSoMoN/handle-stdin-filename
...
Handle the rewrite of "-" to "/dev/stdin" in main to leave the filenames unchanged (fixes #46 )
2024-04-09 09:53:53 +02:00
Olivier Tilloy
e1c319f96b
Add an integration test for reading from "/dev/stdin" on unix-like systems
2024-04-08 22:36:14 +02:00
Olivier Tilloy
84ad116845
Use io::stdin() to read from standard input in a portable manner
2024-04-08 20:21:24 +02:00
Olivier Tilloy
6dc34fed44
Handle the rewrite of "-" to "/dev/stdin" in main to leave the filenames unchanged ( fixes #46 )
2024-04-08 20:21:24 +02:00
Sylvestre Ledru
9507ca28d7
Merge pull request #51 from oSoMoN/unit-tests-for-conflicting-output-style
...
Unit test to verify that conflicting output styles result in an error
2024-04-06 08:47:53 +02:00
Olivier Tilloy
c325291696
Unit test to verify that conflicting output styles result in an error
2024-04-05 23:22:26 +02:00
Olivier Tilloy
c08e0b6e1f
Merge pull request #25 from uutils/renovate/tempfile-3.x
...
chore(deps): update rust crate tempfile to 3.10.1
2024-04-04 22:50:50 +02:00
Tanmay Patil
72da7fca40
Show current time if fs::metadata errors
2024-04-04 20:01:11 +05:30
Tanmay
61fb0657c1
Merge branch 'main' into context-diff-modification-time
2024-04-04 19:56:13 +05:30
Sylvestre Ledru
096aa1dad9
Merge pull request #50 from cakebaker/disable_tests_using_ed_on_windows
...
Disable tests on Windows that use `ed`
2024-04-04 08:48:41 +02:00
Daniel Hofstetter
2d9e625a5b
Disable tests on Windows that use ed
2024-04-04 08:30:54 +02:00
Daniel Hofstetter
d863fe443a
Merge pull request #48 from uutils/clip
...
Run clippy pedantic fixes
2024-04-04 07:45:18 +02:00
renovate[bot]
6be94d8683
chore(deps): update rust crate tempfile to 3.10.1
2024-04-03 22:31:44 +00:00
Sylvestre Ledru
44ef772e4a
release: version 0.4.0
2024-04-04 00:30:46 +02:00
Sylvestre Ledru
bbfca84e17
chore: wow shiny new cargo-dist CI
2024-04-04 00:29:50 +02:00
Sylvestre Ledru
281098d751
Run clippy pedantic fixes
2024-04-03 23:25:48 +02:00
Tanmay Patil
a3a372ff36
Display modification times of input files in unified diff
2024-04-04 00:13:41 +05:30
Tanmay Patil
5b814f8530
Fix tests
2024-04-03 10:50:52 +05:30
Sylvestre Ledru
34a5cc7340
Merge pull request #45 from oSoMoN/stdin-tests
...
Unit and integration tests for reading data from standard input
2024-04-03 00:02:21 +02:00
Olivier Tilloy
6a152cdc7f
Add an integration test for reading data from stdin
2024-04-02 22:34:42 +02:00
Olivier Tilloy
b8fada8faa
Add unit tests for missing arguments
2024-04-02 21:10:41 +02:00
Olivier Tilloy
a213272d0c
Add tests for when '-' is used to signify to use standard input
2024-04-02 20:41:01 +02:00
Sylvestre Ledru
25e4a17421
Merge pull request #44 from oSoMoN/fix-codecov-badge
...
Fix the link to the Codecov badge
2024-04-02 18:34:51 +02:00
Olivier Tilloy
589039ab4c
Fix the link to the Codecov badge
2024-04-02 18:24:09 +02:00
Sylvestre Ledru
f83fccb542
Merge pull request #41 from uutils/sylvestre-patch-1
...
Disable the fail fast (closes : #40 )
2024-04-02 07:33:43 +02:00
Sylvestre Ledru
76c4714f78
Disable the fail fast ( closes : #40 )
2024-04-01 23:15:23 +02:00
Tanmay Patil
88a7568b52
Merge branch 'main' into context-diff-modification-time
2024-04-01 13:05:37 +05:30
Sylvestre Ledru
b135b6f218
Merge pull request #37 from oSoMoN/diff-arguments
...
Pass a Params reference to the various diff() functions, instead of a long list of arguments
2024-04-01 00:46:37 +02:00
Sylvestre Ledru
314e3a7320
Merge pull request #38 from oSoMoN/readme-grammar
...
README: minor grammar correction
2024-04-01 00:44:36 +02:00
Olivier Tilloy
6a73657b3a
README: minor grammar correction
2024-04-01 00:26:30 +02:00
Olivier Tilloy
e9f0630aaf
Update fuzzers
2024-03-31 23:39:43 +02:00
Olivier Tilloy
e6a0ba28c5
Pass a Params reference to the various diff() functions, instead of a long list of arguments
2024-03-31 21:27:28 +02:00
Tanmay Patil
80c9944bf7
Create foo/bar in target/context-diff
2024-03-31 22:57:51 +05:30
Sylvestre Ledru
043c5f9493
Merge branch 'main' into context-diff-modification-time
2024-03-31 16:17:23 +02:00
Tanmay Patil
9ff8f89626
Fix tests
2024-03-31 16:14:44 +05:30
Sylvestre Ledru
0ab824abda
Merge pull request #36 from oSoMoN/default-params
...
Implement the Default trait for Params
2024-03-31 09:26:02 +02:00
Olivier Tilloy
f60fefaf6e
Implement the Default trait for Params
2024-03-30 23:50:58 +01:00
Sylvestre Ledru
14e77548fd
Merge pull request #28 from oSoMoN/implement-expand-tabs-option
...
Implement `-t`/`--expand-tabs` option (fixes #26 ) and `--tabsize=NUM` option (fixes #27 )
2024-03-30 15:28:53 +01:00
Olivier Tilloy
f2fd2127ed
Politely ask clippy to not complain about too many arguments
2024-03-28 18:10:31 +01:00
Olivier Tilloy
cfc68d58bc
Fix fuzzers' invokations
2024-03-28 18:10:31 +01:00
Olivier Tilloy
e0283083f2
Implement --tabsize option
2024-03-28 18:10:29 +01:00
Olivier Tilloy
8d65c2badd
Implement -t/--expand-tabs option
2024-03-28 18:09:03 +01:00
Tanmay Patil
42eb15b87a
Display modification times of input files in context diff
...
Fixes #31
2024-03-27 22:46:23 +05:30
Sylvestre Ledru
a304ac0a68
Merge pull request #30 from cakebaker/fix_clippy_warnings
...
clippy: fix warnings from useless_vec lint
2024-03-24 19:28:03 +01:00
Daniel Hofstetter
f916f1ce86
clippy: fix warnings from useless_vec lint
2024-03-24 14:05:44 +01:00
Olivier Tilloy
4ed7ea1553
Implement -q/--brief option ( fixes #19 ) ( #20 )
...
* Implement -q/--brief option
* Optimization: stop analyzing the files as soon as there are any differences
* Unit tests for the stop_early parameter
* Simplify checks
2024-03-19 11:45:06 +01:00
hanbings
62e10c6d6c
ci: fuzzers in the Github Actions CI. ( #29 )
...
* Add fuzzing CI.
* fuzz dependency change: diffutils -> diffutilslib
* fix fuzz build.
2024-03-18 21:50:33 +01:00
Olivier Tilloy
c68d386170
Implement -s/--report-identical-files option ( fixes #23 )
2024-03-01 14:45:41 +01:00
Olivier Tilloy
a89f30afa0
Ed diff: compact ranges of lines where possible ( fixes #21 )
2024-02-24 11:55:54 +01:00
Olivier Tilloy
0a67bf9fb8
Add integration tests that check the exit codes and stdout/stderr
2024-02-22 17:26:24 +01:00
Olivier Tilloy
1241db4806
Match GNU diff's implementation for exit codes ( fixes #17 )
2024-02-22 17:26:24 +01:00
renovate[bot]
3bc8668f78
fix(deps): update rust crate libfuzzer-sys to 0.4 ( #5 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-17 18:19:02 +01:00
Sylvestre Ledru
c90eee442f
Add the example section
2024-02-17 17:07:31 +01:00
Sylvestre Ledru
6c29f02527
improve the readme and example
2024-02-17 17:06:14 +01:00
Olivier Tilloy
790ef1e633
Run the GNU test suite in CI ( fixes #8 ) ( #13 )
2024-02-17 15:27:52 +01:00
Sylvestre Ledru
4c1a752f11
Merge pull request #12 from oSoMoN/trivial-typo-error-message
...
Fix trivial typo in error message
2024-02-09 21:21:43 +01:00
Olivier Tilloy
54a5407bec
Fix trivial typo in error message
2024-02-09 17:51:50 +01:00
Sylvestre Ledru
02632e915c
Merge pull request #11 from oSoMoN/compact-range-of-lines
...
Normal diff: compact ranges of lines where possible (fixes #10 )
2024-02-09 13:57:51 +01:00
Olivier Tilloy
3f9556aa05
Add comments to ease readability and maintainability
2024-02-09 10:28:39 +01:00
Olivier Tilloy
a94c6a60cf
Normal diff: compact ranges of lines where possible ( fixes #10 )
2024-02-09 10:28:39 +01:00
Sylvestre Ledru
c28973c019
coverage: remove the fail fast to continue for linux even if windows fails
2024-02-09 10:28:27 +01:00
Sylvestre Ledru
a660f7440c
Merge pull request #1 from uutils/renovate/configure
...
Configure Renovate
2024-01-27 09:54:27 +01:00
Sylvestre Ledru
6a69a39852
add badges
2024-01-27 09:51:04 +01:00
Sylvestre Ledru
bf13d528be
Merge pull request #2 from cakebaker/ci_replace_actions_rs
...
ci: replace unmaintained `actions-rs` actions
2024-01-26 17:25:19 +01:00
Daniel Hofstetter
329a7e1f4a
ci: use dtolnay/rust-toolchain instead of
...
unmaintained actions-rs/toolchain
2024-01-26 16:29:22 +01:00
Daniel Hofstetter
e5de3cd93e
ci: remove actions-rs/cargo & use cargo directly
2024-01-26 16:23:16 +01:00
Sylvestre Ledru
0e14b37e38
refresh the gitignore
2024-01-24 09:31:09 +01:00
Sylvestre Ledru
3c1176082e
Ship with Cargo.lock
2024-01-24 09:30:47 +01:00
Sylvestre Ledru
865f97c78d
upgrade the rust edition
2024-01-24 09:30:11 +01:00
Sylvestre Ledru
f5b65a5720
add debug info
2024-01-23 12:49:20 +01:00
Sylvestre Ledru
1372c5386c
use pretty assertions to help with Windows debug
2024-01-23 12:36:57 +01:00
Sylvestre Ledru
d891e1034d
run clippy pedantic
...
$ cargo +nightly clippy --allow-dirty --fix -- -W clippy::pedantic
2024-01-23 12:36:38 +01:00
Sylvestre Ledru
fdc35f6b8e
use mod tests + bring back the function used only for tests
2024-01-23 10:12:08 +01:00
Sylvestre Ledru
6648963df1
remove the unused function diff_w
2024-01-23 10:08:08 +01:00
Sylvestre Ledru
a10ef621c8
Ajust the test paths
2024-01-23 10:06:02 +01:00
Sylvestre Ledru
7939749338
remove old config
2024-01-22 22:33:47 +01:00
Sylvestre Ledru
7b3001f1ff
adjust the rule
2024-01-22 22:33:29 +01:00
Sylvestre Ledru
416a4be06c
remove old files
2024-01-22 22:32:49 +01:00
Sylvestre Ledru
9084134f04
rustfmt the code
2024-01-22 22:32:32 +01:00
Sylvestre Ledru
f42fc82f18
adjust the fuzzers to use the new structure
2024-01-22 22:32:11 +01:00
Sylvestre Ledru
0b2505d249
simplify the structure of the crate
2024-01-22 22:01:07 +01:00
Sylvestre Ledru
045435b803
add missing license headers
2024-01-22 21:49:07 +01:00
renovate[bot]
b55cbf2ca2
Add renovate.json
2024-01-22 18:51:27 +01:00
Sylvestre Ledru
12f3f16792
add github action
2024-01-22 18:50:30 +01:00
Sylvestre Ledru
e9e69b86db
update of the README
2024-01-22 18:47:53 +01:00
Sylvestre Ledru
029d747e14
remove trailing spaces
2024-01-22 18:45:41 +01:00
Sylvestre Ledru
e38055e5b2
rustfmt the code
2024-01-22 18:41:33 +01:00
Sylvestre Ledru
61cfe6eec4
Fix some clippy warnings
2024-01-22 18:41:01 +01:00
Michael Howell
ea9376aaaf
Add ed-formatted diff
2021-09-15 19:06:14 -07:00
Michael Howell
582259a867
Refactor into separate bin and lib folders
2021-07-21 13:40:52 -07:00
Michael Howell
da05a5254b
Fix missingnl behavior on normal-diff
2021-04-03 09:42:35 -07:00
Michael Howell
a4f7642d7a
Get rid of missing line ending tests
...
These don't work right with GNU patch. I get assertion errors.
2021-03-09 16:37:42 -07:00
Michael Howell
e72ea046b7
Add context and normal diff modes
2021-03-09 16:34:57 -07:00
Michael Howell
2e84164d2f
Get rid of sample binary
2021-03-09 11:07:44 -07:00
Michael Howell
aa339419e3
Exclude "fuzz" folder
2021-02-25 09:07:43 -07:00
Michael Howell
feb8b18ea0
v0.2.0
2021-02-25 09:06:32 -07:00