2024-01-27 09:50:58 +01:00
[](https://crates.io/crates/diffutils)
[](https://discord.gg/wQVJbvJ)
[](https://github.com/uutils/diffutils/blob/main/LICENSE)
[](https://deps.rs/repo/github/uutils/diffutils)
2024-04-02 18:22:40 +02:00
[](https://codecov.io/gh/uutils/diffutils)
2024-01-27 09:50:58 +01:00
2024-04-01 00:26:30 +02:00
The goal of this package is to be a drop-in replacement for the [diffutils commands ](https://www.gnu.org/software/diffutils/ ) in Rust.
2024-01-22 18:47:53 +01:00
2021-03-09 16:23:46 -07:00
Based on the incomplete diff generator in https://github.com/rust-lang/rust/blob/master/src/tools/compiletest/src/runtest.rs, and made to be compatible with GNU's diff and patch tools.
2021-02-23 22:17:58 -07:00
2024-02-17 17:05:51 +01:00
## Installation
Ensure you have Rust installed on your system. You can install Rust through [rustup ](https://rustup.rs/ ).
Clone the repository and build the project using Cargo:
```bash
git clone https://github.com/uutils/diffutils.git
cd diffutils
cargo build --release
2021-02-23 22:17:58 -07:00
```
2024-02-17 17:05:51 +01:00
2024-02-17 17:07:28 +01:00
## Example
2024-02-17 17:05:51 +01:00
```bash
cat <<EOF >fruits_old.txt
Apple
Banana
Cherry
EOF
cat <<EOF >fruits_new.txt
Apple
Fig
Cherry
EOF
$ cargo run -- -u fruits_old.txt fruits_new.txt
2021-02-23 22:17:58 -07:00
Finished dev [ unoptimized + debuginfo] target( s) in 0.00s
2024-02-17 17:05:51 +01:00
Running ` target/debug/diffutils -u fruits_old.txt fruits_new.txt`
--- fruits_old.txt
+++ fruits_new.txt
@@ -1,3 +1,3 @@
Apple
-Banana
+Fig
Cherry
2021-02-23 22:17:58 -07:00
```
2024-02-17 17:05:51 +01:00
## License
diffutils is licensed under the MIT and Apache Licenses - see the `LICENSE-MIT` or `LICENSE-APACHE` files for details