bolthole
Project description
bolthole
(computer)% bolthole source_dir [dest_dir]
Automatically backup a directory to git — watch a directory for changes, and either commit the changes or mirror the directory to another that is a git repository, and commit changes there.
There is a grace period to allow multiple edits in a short space of time, and multiple files changed within the grace period should be packaged as one commit, not many.
Outstanding
- watch source directory for file changes
- collapse redundant events (create+delete, rename chains)
- verbose and debugging output
- sync existing files on startup
- mirror changes to destination directory
- dry run mode
- create new repo if destination does not exist
- show git commands being executed
- override commit author
- override commit message
- commit changes to git
- ignore files matching glob patterns
- respect .gitignore
- commit and exit without watching
- push commits to remote
- wait before committing to allow more edits
- bundle multiple file changes into single commits
Testing
# run all tests
(computer)% make test
# run subsets
(computer)% make lint
(computer)% make pytest
(computer)% make bats
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bolthole-0.0.1.tar.gz.
File metadata
- Download URL: bolthole-0.0.1.tar.gz
- Upload date:
- Size: 2.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dd64eefd2f22cf1b461167d0d9186164249e74bc6663ad50f418f6815b6d392b
|
|
| MD5 |
19d2d4c287eb7fa89fd21eb8194d5892
|
|
| BLAKE2b-256 |
68d3aea6d031638476242c4317e75956cc956723b93efdb836a808312f3d5a0c
|
Provenance
The following attestation bundles were made for bolthole-0.0.1.tar.gz:
Publisher:
publish.yml on norm/bolthole
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bolthole-0.0.1.tar.gz -
Subject digest:
dd64eefd2f22cf1b461167d0d9186164249e74bc6663ad50f418f6815b6d392b - Sigstore transparency entry: 813887391
- Sigstore integration time:
-
Permalink:
norm/bolthole@8ce59ed76c0903f06b9b676ee7c4d2d7f5a99f53 -
Branch / Tag:
refs/tags/v0.0.1 - Owner: https://github.com/norm
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8ce59ed76c0903f06b9b676ee7c4d2d7f5a99f53 -
Trigger Event:
push
-
Statement type:
File details
Details for the file bolthole-0.0.1-py3-none-any.whl.
File metadata
- Download URL: bolthole-0.0.1-py3-none-any.whl
- Upload date:
- Size: 2.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
57cd6e46421aeaa44ae85c1b42a6a8c1508ca8e15f9bce8700edc7e344ac49a1
|
|
| MD5 |
707b75a1c399dfc17f7f2d3802608772
|
|
| BLAKE2b-256 |
a98c7ff3126555308cbad994f57dcd56519840ff287bbd168114caed149821e5
|
Provenance
The following attestation bundles were made for bolthole-0.0.1-py3-none-any.whl:
Publisher:
publish.yml on norm/bolthole
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bolthole-0.0.1-py3-none-any.whl -
Subject digest:
57cd6e46421aeaa44ae85c1b42a6a8c1508ca8e15f9bce8700edc7e344ac49a1 - Sigstore transparency entry: 813887407
- Sigstore integration time:
-
Permalink:
norm/bolthole@8ce59ed76c0903f06b9b676ee7c4d2d7f5a99f53 -
Branch / Tag:
refs/tags/v0.0.1 - Owner: https://github.com/norm
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8ce59ed76c0903f06b9b676ee7c4d2d7f5a99f53 -
Trigger Event:
push
-
Statement type: