Adding new features - work in progress #2

This commit is contained in:
Robert Vokac 2023-08-08 18:24:48 +02:00
parent 43cce8a510
commit e7f57aeea8
No known key found for this signature in database
GPG Key ID: 693D30BEE3329055

View File

@ -1,14 +1,33 @@
# bit-inspector
"Bit Inspector" (Bir) is a tool to manage files. It is inspired by Git, but its goals are slightly different.
* Hash sum of files is tracked
* Detects bit rots to keep your files forever
"Bit Inspector" (Bir) is a tool to manage files.
* It is inspired by Git, but its goals are slightly different.
Features
* Tracking hash sum of files
* Backing up directory to another location (local, FTP(S), SFTP, HTTP(S), S3, Bir server
* Optionally you can set a password to protect your files (if a not trusted external location like FTP or S3 is used)
* Detecting bit rots (to keep your files forever) - found bit rots can be repaired.
* Files are handled in a "Bir repository"
* You can clone a remote repository
* You can save your local repository to remote repository.
* You can save your local repository to a remote repository.
* Your files are versioned. You can travel in history and return to an older version of the whole repo or only a directory or one file.
What is not supported:
* Conflict resolution is not supported. "Bir" is not intended be used by more users at once.
* Several people changing one Bir repository must be avoided.
* One Bir repository can be used by more users, but only one user can change it.
* Branches are not supported
## Requirements
Requirements to run "Bit Inspector":
* Java 19
## How to build "Bit Inspector" on your own
Requirements to build "Bit Inspector:
* Java 19
* Maven
```
git clone https://code.nanoboot.org/nanoboot/bit-inspector
@ -18,7 +37,6 @@ mvn clean install
## How to setup your environment on Linux
Add to your .bashrc:
alias bir='java -jar {path to bit-inspector jar with dependencies file}/bit-inspector-0.0.0-SNAPSHOT-jar-with-dependencies.jar'
@ -49,13 +67,37 @@ You can:
### Cloning a remote repo
#### Local
```
bir clone {path to local directory = Bir repository}
```
#### S3
```
bir clone {endpoint url}/{bucket name}
bir clone s3://http[s]://{endpoint url}/{bucket name}
```
Then you will be asked for access key and secret key.
### Using an existing bir repository
#### FTP/FTPS/SFTP
```
bir clone {protocol}://[{user}:{password}]@{host url}:{port}/{directory}
```
#### HTTP/HTTPS
```
bir clone http[s]://[{user}:{password}]@{host url}:{port}/{directory}
```
#### Bir server (via Rest api)
```
bir clone bir:://[{user}:{password}]@{host url}:{port}/[path to repository/]{repository name}
```
### Using an existing Bir repository
### Creating a new empty Bir repository