aboutsummaryrefslogtreecommitdiff
path: root/modules/reconcile-open-repos.el
Commit message (Collapse)AuthorAgeFilesLines
* fix: vertico-repeat C-s and dotted-repo discovery (audit bugs)Craig Jennings2026-06-131-1/+4
| | | | | | | | | Two bugs from the 2026-06 config audit. - C-s C-s never repeated a search. cj/consult-line-or-repeat calls vertico-repeat on the second press, but vertico-repeat-save was never on minibuffer-setup-hook, so it always signalled "No Vertico session". I hooked vertico-repeat-save next to the vertico block. It's autoloaded, so the load defers to the first minibuffer. - reconcile-open-repos skipped any repo with a dot in its name. cj/find-git-repos filtered children through "^[^.]+$", which matches only dot-free names, so mcp.el, capture.el, and google-contacts.el were never reconciled while M-P still reported "Complete". It now filters through directory-files-no-dot-files-regexp plus a hidden-dir guard, so dotted repos pass and .git stays out. Each fix is test-first: a failing assertion (hook membership, three dotted repos found) precedes the change.
* docs(load-graph): classify remaining domain and optional modulesCraig Jennings2026-05-241-0/+9
| | | | | | Final classification batch: the last 19 modules — linear-config, local-repository, lorem-optimum, mail-config, markdown-config, music-config, pdf-config, quick-video-capture, reconcile-open-repos, restclient-config, slack-config, system-commands, telega-config, tramp-config, transcription-config, video-audio-recording, vterm-config, weather-config, wrap-up. I annotated each header, added a Batch 9 table to the inventory, and extended the validation allowlist. 101 of 102 modules are now classified; only elfeed-config remains, deferred on its test fix. Two more hidden dependencies turned up. video-audio-recording uses the boundp shim for its C-; r binding, and mail-config registers C-; e directly without requiring keybindings, so it errors standalone rather than degrading. Both recorded for Phase 2.
* Make repo reconciliation review-firstCraig Jennings2026-05-101-53/+147
| | | | Stop automatically stashing, pulling, and popping dirty repos during reconciliation. Clean repos still pull, dirty repos open Magit for review, and results now include structured statuses, skip reasons, pruning, and a summary.
* fix(reconcile): restore repo iteration under projects-dir and code-dirCraig Jennings2026-04-191-1/+1
| | | | | | | | | | | The outer dolist in cj/check-for-open-work guarded its body with (boundp 'base-dir), which always returns nil under lexical-binding because base-dir is a lexical loop variable. Every repo under projects-dir and code-dir was silently skipped; only org-dir and user-emacs-directory (both top-level defvars) still got reconciled. Remove the bogus boundp check. Add regression tests covering the entry point itself — the existing suite only exercised the helpers.
* refactor(reconcile): extract helpers, add recursive repo discovery and 28 testsCraig Jennings2026-04-191-36/+48
| | | | | Extract should-skip-p, pull-clean, pull-dirty from 6-level nested reconcile-git-directory. Make find-git-repos recurse into sub-repos.
* fix: make this function recursiveCraig Jennings2026-04-181-4/+14
|
* fix: fix M-P by removing autoload cookie from keybindingCraig Jennings2026-04-181-1/+1
|
* refactor(reconcile-open-repos): Use git pull --rebase for cleaner historyCraig Jennings2025-11-151-2/+2
| | | | | | | | | | | | | | | | | | Changed from merge strategy to rebase strategy when pulling updates in the multi-repo reconciliation workflow. This avoids creating unnecessary merge commits and maintains linear history. Changes: - Line 54: git pull --quiet → git pull --rebase --quiet (clean repos) - Line 64: git pull --quiet → git pull --rebase --quiet (dirty repos) Benefits: - Cleaner git history (no merge commits for simple pulls) - Consistent with best practices for personal development - Aligns with git pull --rebase --autostash used elsewhere The workflow still maintains its error handling and Magit integration for conflict resolution.
* chore: Remove redundant autoload directives from modulesCraig Jennings2025-10-261-1/+0
| | | | | | | Remove unnecessary autoload directives from various functions across multiple modules, cleaning up the codebase and improving readability. These directives were redundant and not needed for the current project setup.
* feat:reconcile-open-repos: enhance git repository reconciliationCraig Jennings2025-10-201-25/+53
| | | | | | | | | Improve the workflow for synchronizing git repositories across projects. Add detailed commentary and handle edge cases for stash, pull, and stash pop operations. Implement checks for project directories and dependencies defined in init.el, enhancing robustness against undefined variables and failed git operations. Ensure Magit opens for manual intervention when issues arise.
* refactor: created specific org-dir variable for ~/sync/orgCraig Jennings2025-10-181-1/+1
|
* changing repositoriesCraig Jennings2025-10-121-0/+72