6d83d278e1
Started thinking about a new problem relating to how to deal with a series of operations, as quick has been doing so far. Now that we are trying to react to errors, it would be cool if we could stop early, but this require maintaining a list of things that have failed to avoid running them, and so we need to perform that logic inside of the function (at least it's the more reasonable approach imo) One way I can sketch rn might be to copy the hashmap structure of repos as a reference, and then delete the references from our cloned map as they fail. This is not ideal in any specific way, but it's a good first approximation. Signed-off-by: Christina Sørensen <christina@cafkafk.com> |
||
---|---|---|
bin | ||
doc | ||
src | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
CODE_Of_CONDUCT.md | ||
flake.lock | ||
flake.nix | ||
LICENSE | ||
README.org |
gg - git gut
A Rust GitOps/symlinkfarm orchestrator inspired by GNU Stow. Useful for dealing with "dotfiles", and with git support as a first class feature. Configuration is done throug a single yaml file, giving it a paradigm that should bring joy to those that use declarative operating systems and package managers.
Although this isn't really a case where it matters that much for performance, being written in rust instead of e.g. janky scripting languages does also mean it is snappy and reliable, and the extensive testing helps ensure regressions aren't introduced.
That said, we're in 0.0.Z, here be dragons for now.
Installation
$ git clone https://github.com/cafkafk/git
$ ./install
Configuration
If you want a template, you can copy the file from src/test/config.yaml:
$ mkdir -p ~/.config/gg/
$ cp src/test/config.yaml ~/.config/gg/config.yaml
You should seriously change this file before running any commands.
The configuration format will likely break regularly in versions 0.Y.Z.