Golinks is a command line tool and library used to deep-hash file systems. This project is still under early development and subject to frequent change.
Author: Kevin Gentile
Contact: [email protected]
go get -u github.com/govice/golinks
go install github.com/govice/golinks
golinks -h
Create a link file for an archive located at directory archive
Generate a .link
file used as a reference when validating archives.
golinks link ~/[pathToArchive]/archive
Determine if a linked archive is valid
golinks validate ~/[pathToArchive]/archive
Contributions are welcome. We use a forking workflow for all contributions.
Check out this article about working with forked repositories in Go.
Be sure to open an issue for any new work.
Branch names should be discriptive and append the issue number (ex. update-readme-123
).
All pull requests should be "squashed" into a single commit and resolve the commit issue (ex. [Resolves #123] update readme
).
Pull requests should be similarly named and close the issue (ex. [Closes #123] update readme
).
Happy coding :)
The default resource folder used by this tool is located at ~/.golinks
The default test root is located at ~/.golinks/test
To generate a test archive in the test root:
golinks buildtest -s [small|medium|large]
Which creates 10 folders within the test archive each containing 10 files of the following sizes:
small: 1 B
medium: 1 KB
large: 1 MB
To delete a test archive:
golinks buildtest clean
It can be useful to specify enviornment variables for testing
-
Windows:
TEST_ROOT : "%userprofile%\.golinks\test"
-
Linux:
TEST_ROOT=~/.golinks/test
Copyright (C) 2017-2020 Kevin Gentile & other contributors (see AUTHORS.md)
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.