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
"Bit Inspector" (Bir) is a tool to manage files. It is inspired by Git, but its goals are slightly different. "Bit Inspector" (Bir) is a tool to manage files.
* Hash sum of files is tracked * It is inspired by Git, but its goals are slightly different.
* Detects bit rots to keep your files forever
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" * Files are handled in a "Bir repository"
* You can clone a remote 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 ## 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 git clone https://code.nanoboot.org/nanoboot/bit-inspector
@ -18,7 +37,6 @@ mvn clean install
## How to setup your environment on Linux ## How to setup your environment on Linux
Add to your .bashrc: 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' 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 ### Cloning a remote repo
#### Local
```
bir clone {path to local directory = Bir repository}
```
#### S3 #### 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. 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 ### Creating a new empty Bir repository