sync-rs 1.2.13

A CLI tool to sync files between directories
# sync-rs

A simple repository synchronization tool written in Rust. Largely a wrapper around `git` and `rsync`. It will respect `.gitignore` files and sync the repository to a target remote directory, and remember the last sync state.

## Usage

To activate interactive mode to sync the current directory to the remote directory, run:

```bash
sync-rs
```

To sync the current directory to the remote directory, run:

```bash
sync-rs <remote-host> <remote-dir> # The remote host and directory to sync to. The remote directory is a relative path to the remote host's home directory.
```

Some optional flags are available:

```bash
sync-rs <remote-host> <remote-dir> -p <post-command> # Run a command after syncing
sync-rs <remote-host> <remote-dir> -o <override-path> # Sync the override path despite the .gitignore. This is helpful to sync custom experimental files.
sync-rs <remote-host> <remote-dir> -s # Open an interactive shell in the remote directory using ssh after syncing
```

## Installation

### General

You can install `sync-rs` using `cargo` from [crates.io](https://crates.io/crates/sync-rs):

```bash
cargo install sync-rs
```

Note that `sync-rs` requires a Unix-like operating system, so it will not work on Windows.

### Arch Linux

You can install `sync-rs` from the AUR using your preferred AUR helper (e.g. `yay`):

```bash
yay -S sync-rs
```

## License

[MIT](LICENSE)