<commit_before># pib
**P**ortable **i**ncremental **b**ackup utility written in C (C11) without any dependencies.

# Usage
**Create backup of folder (usually the only command you need)**

`pib b <input folder path> <output folder path>`

This will copy all files from input to output folder and create a file `.pib` in output folder that holds checksums for all stored files.

Each time the exact same command as above will be executed after the first backup the application will look for changes in input folder and modify the output folder content to match the input folder content by just deleting, creating or updating the necessary files and subdirectories (incremental).

This is done by comparing the file checksums and file sizes for the input folder created during each run with the checksums and sizes stored in `.pib` data file to be found in backup (output) folder.

The deletions, creations and updates planned will be presented to the user beforehand.

If deletions and/or updates of files are necessary, the user will be asked, if application shall really proceed.<commit_msg>README grammar, and redundancies update<commit_after># pib
**P**ortable **i**ncremental **b**ackup utility written in C (C11) without any dependencies.

# Usage
**Create backup of folder (usually the only command you need)**

`pib b <input folder path> <output folder path>`

This snipit will copy all the files from the input to the output folder and create a file `.pib` in the output folder that holds checksums for all stored files.

Each time the exact same command as above is executed, after the first backup, the application will look for changes in the input folder and modify the output folder contents to match the input folder's contents by just deleting, creating or updating the necessary files and subdirectories (incremental).

This is done by comparing the file checksums and file sizes for the input folder created during each run with the checksums and sizes stored in `.pib` data file found in backup (output) folder.

The deletions, creations and updates planned will be presented to the user beforehand.

If deletions and/or updates of files are necessary, the user will be asked, if the application shall proceed.
{'fraction_non_alphanumeric': 0.048495734171531205, 'fraction_numerical': 0.001796138302649304, 'mean_word_length': 4.802083333333333, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '998441', 'n_tokens_mistral': 548, 'n_tokens_neox': 518, 'n_words': 350}