aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
3 daysrefactor: clearer arithmetic guard and output loop var in do_suggestDanilo M.1-7/+7
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
3 daysfeat: add do_suggest scan/filter/dedup functionDanilo M.1-0/+84
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
3 daysfeat: add SUGGEST_IGNORE default skip listDanilo M.1-0/+7
Add guarded default for SUGGEST_IGNORE array containing 16 common untracked basenames (.cache, .local, .git, .ssh, .gnupg, .Trash, .pki, .nv, .mozilla, .thunderbird, .npm, .cargo, .rustup, .java, .dbus, .config). User can override in config file - ${SUGGEST_IGNORE+set} guard ensures config values win. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
3 daysfeat: lastupdate also writes machine-readable epochDanilo M.1-0/+1
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
3 daysfeat: suggest bypasses --quiet redirectDanilo M.1-1/+1
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
3 daysfeat: add --suggest flag plumbingDanilo M.1-0/+3
Adds the SUGGEST flag variable, CLI argument parsing, and help text for the upcoming --suggest feature. The flag is wired but behavior will be implemented in subsequent tasks. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
3 daysfeat: add --delete to dir rsync so backup mirrors sourceDanilo M.1-2/+2
Removed/moved files in backed-up directories are now pruned from the backup instead of accumulating. Applies only to directory copies, not the per-file branch or restore. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
3 daysdocs: implementation plan for --suggest flagDanilo M.1-0/+482
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
3 daysdocs: suggest always writes to stdout, bypasses --quietDanilo M.1-4/+13
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
3 daysdocs: spec for --suggest flagDanilo M.1-0/+180
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-06fix: create parent dir before rsync for file targetsDanilo M.1-0/+1
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06feat: files.list replaces hardcoded array when non-emptyDanilo M.2-7/+20
Previously files.list appended to the built-in DOTFILES array, causing duplicate processing. Now a non-empty files.list replaces the array entirely; missing or empty file falls back to the hardcoded defaults. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06docs: note that commit/push workflow skips PRsDanilo M.1-0/+4
2026-05-06feat: skip system files on restore when not rootDanilo M.1-1/+21
Warn and skip system/ entries during restore if EUID != 0. Dry-run shows what would be restored (with "needs root" note) so user can decide whether to re-run as root.
2026-05-06fix: log_verbose exits 1 under set -e when VERBOSE=falseDanilo M.1-1/+1
`[[ false ]]` returns exit code 1; `set -euo pipefail` killed restore loop on first skipped entry. Add `|| true` to suppress. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06fix: harden error handling and fix silent failuresDanilo M.1-21/+18
- guard all cd calls with error messages - check commit and push exit codes; fail loudly on hook rejection - warn on missing system path entries (were silently skipped) - clear only when stdout is a terminal - simplify beginswith to single [[ ]] expression - remove redundant touch before lastupdate write - quote $NC in echo -e calls
2026-05-06Update CLAUDE.md to reflect auto-commit and config varsDanilo M.1-2/+4
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06Stop first run from backing up before user configuresDanilo M.1-1/+2
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06Fix remaining review issues: quoting and clear behaviourDanilo M.1-8/+8
- Quote $WORKDIR in all cd calls - Quote ${HOME}/$i and $i in -f/-d test expressions - Guard clear with QUIET check to avoid wiping terminal in scripted use Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06Fix review findings: quoting, set -e trap, system path, push guardDanilo M.1-14/+14
- Quote all $DEFAULT_OUTPUT_DIR references to handle paths with spaces - Replace git rev-parse $(...) with exit-code check to avoid set -e trap - Fix system file dst using $i instead of ${i#/} (double-slash bug) - Quote $i in beginswith call - Simplify push guard to check remote existence directly Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06Add GIT_REMOTE, GIT_BRANCH config options and --push flagDanilo M.3-3/+54
- GIT_REMOTE in config auto-registers origin on every run (idempotent) - GIT_BRANCH sets push target branch (defaults to current branch) - -p/--push pushes after commit; errors if no remote available - Updated config.example and README Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06Bootstrap config dirs on first run with setup messageDanilo M.2-3/+32
Script now creates ~/.config/dot-backup/ and ~/.local/share/dot-backup/ on first run and prints a summary with next steps. README updated. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06Add flags, config system, restore mode, and updated docsDanilo M.4-46/+371
- Add -n/--dry-run, -v/--verbose, -r/--restore, -q/--quiet flags - Auto-commit after backup with timestamp message - Load ~/.config/dot-backup/config for overriding defaults - Load extra dotfiles from ~/.config/dot-backup/files.list - Quiet mode redirects all output to ~/.local/share/dot-backup/backup.log - Add config.example, CLAUDE.md, and updated README Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-06Added script and readmeDanilo M.2-0/+195