feat: add `commit_files` for multi-path commits and fix repo-relative path resolution for nested config dirs

Merged
SC
1d ago
+396-29

Summary

This is to improve/harden the git layer to make it easier and less bug-prone supporting nested config dirs, based on this comment from @alex-sparus here: https://github.com/darkmatter/nixmac/pull/655#issuecomment-5441018019

It also proactively adds the commit_files function which was in the PR that inspired said comment.

The main thing to look at is the repo_relative_path method -- the correctness of its logic as well as its call sites.

Test Plan

New unit tests.

Docs

  • Docs updated (companion PR in darkmatter/nixmac-web: #___)
  • No docs update needed