mirror of
https://github.com/qwjyh/xdbm
synced 2025-02-22 19:17:08 +09:00
Cross device backup manager.
https://git.qwjyh.net/PKGBUILDs/xdbm
* fix: polluting gitconfig in integrated test * debug(CI): add eprintln * debug(CI): git config * debug(CI): git init test * fix(CI): command construction * debug(CI): change workdir & add same config setup * debug(CI): use libgit2 * debug(CI): return err at the end of test using libgit2 * debug(CI): change current_dir in git config * fix(git): git config now gets local config CI was failing since xdbm init didn't get local git config. * debug: add trace log * debug: increase log level in CI * fix: getting gitconfig now respects local config * debug(CI): clean up debugging codes * fix(CI): add setup_gitconfig to two_devices test * debug(CI): inspect git config * fix(CI): add env var to allow setting git global config * refactor(CI): remove unnecessary arg for setup_gitconfig * update changelog |
||
---|---|---|
.github/workflows | ||
src | ||
tests | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
CHANGELOG.md | ||
README.md |
xdbm
Cross device backup manager, which manages backups on several storages mounted on multiple devices with a single repository.
Install
git
is required for sync
Usage
xdbm init
to setup new device(i.e. PC).xdbm storage add
to add storages, orxdbm storage bind
to make existing storages available on new device.xdbm backup add
to add new backup configuration.xdbm backup done
to tell xdbm to write backup execution datetime.xdbm storage list
andxdbm backup list
to see their status.
Hints
xdbm path
to see the path of repository. Usegit
to sync it among the devices.xdbm completion <SHELL>
to generate completion scripts for shells.- Give
--help
to see helps on the commands.
TODO:
- split subcommands to functions
- write test for init subcommand
- write test with existing repo
- with ssh credential
- ssh-agent
- specify key
- write test for storage subcommand
- storage add online
- storage add directory
- storage list
- update storage bind command
- add storage remove command
- add sync subcommand
- add check subcommand
- check that all parents exist
- reorganize cmd option for storage
- use subcommand
- backup subcommands
- backup add
- test for backup add
- backup list
- status printing
- backup done
- backup add
- fancy display
- json output
- no commit option