Testing:
TestGit.java initializes, tests the functions of, and cleans up 3 different repos. To test a specific repo further, comment out the "repo(x).cleanup()" line, and the repo will stay created.
There are methods to find file paths by file name, remove files by file name, and remove directories by directory name in the MyRepo class. See comments for tips on how to use them and what parameters mean. All methods have tagged comments that explain what the method does and what the parameters/returns/exceptions are.
Sha1 Hashing: Taken from //https://ssojet.com/hashing/sha-1-in-java/ Has one function that takes a string and returns its hash as a string
Compression: Taken from //https://stackoverflow.com/questions/16351668/compression-and-decompression-of-string-data-in-java Has two functions to compress/decompress strings and returns their compressed/decompressed form as a string.
All files use local path