Skip to content
/ archive Public

Wraps rsync to check if files exist before sending

License

Notifications You must be signed in to change notification settings

kj4ezj/archive

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

archive

Both rsync and scp will overwrite files that exist in the destination. The archive.sh BASH script wraps rsync to test if files exist before sending them to the destination, and provides ancillary services useful for digitizing documents.

Contents

  1. Installation
    1. bpkg
    2. Manual
  2. Development
    1. Lint
    2. CI
  3. See Also

Installation

Install bpkg if you have not already.

Important

If you are on macOS or BSD then you will need to default to GNU tools in your environment. You can check this by running grep --version, which will tell you whether it is BSD or GNU grep.

bpkg

This is the recommended installation method.

Install the echo-eval dependency.

sudo bpkg install -g kj4ezj/ee@dim

Then, install this tool using bpkg.

sudo bpkg install kj4ezj/archive

This does a global install so archive should now be in your system PATH.

Manual

Clone this repo locally with git using your preferred method. Install project dependencies.

bpkg install

You can invoke the script directly from your copy of the repo.

Development

Contributors need these tools installed.

Please sign your commits.

Init

Clone this repo locally with git using your preferred method, then install project dependencies.

bpkg install --dev

Lint

This project uses bashate and shellcheck for linting.

bpkg run lint

This invokes lint.sh which contains the specific configuration for each permutation of linter and target file.

CI

This repo uses GitHub Actions workflows for CI.

  1. archive.sh CI - initialize and lint the archive.sh project.

Important

The CI must pass before a pull request will be peer-reviewed.

You can run the GitHub Actions workflow(s) locally using act.

bpkg run act

Please make sure any pipeline changes do not break act compatibility.

See Also


Legal Notice
This repo contains assets created in collaboration with a large language model, machine learning algorithm, or weak artificial intelligence (AI). This notice is required in some countries.

About

Wraps rsync to check if files exist before sending

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published