Skip to content

Internal-Compiler-Error/isc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

isc

Intelligently Selective Copy (isc) is a⚡blazingly fast⚡(sorry the meme had to be done) cli tool that copies all the files from source to destination directory, but only those files that are not present in the destination directory. The equality of files is determined by their sha256 checksums. The tool computes the checksums of the files in parallel, then copies the ones that need to copy in parallel. Since NVMe SSDs support parallel reads and writes, this is much faster than doing the operations one by one.

Note

Currently the source directory can only contain files and not directories. Haven't decided what is the semantics of copying directories involving symbolic links yet.

Use Case Rationale

You know those (hypothetical) websites where people upload un-PC materials in online drive links? Often as the links get taken down and different people upload a slightly different set of files with different names, you end up with a bunch of files that are the same but with different names.

Yes my dumbness just realized this tool is a fancy set union calculator...

Usage

ics <source> <destination>

or if the destination is the current directory

ics <source>

TODO

  • Add support for copying directories
  • Add support for specifying the number of parallel workers
  • Use tokio to make copying parallel
  • Allow for specifying the hashing algorithm
  • Fancy progress bar

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages