| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
gitrepos.sh did the same `~/.dotfiles` / `~/.emacs.d` remote swap that
post-install.sh already had, plus a `git pull --set-upstream origin main`
follow-on that post-install was missing. I folded the pull into the
post-install remote-rewrite block and dropped gitrepos.sh.
While in the file, I also:
- Quoted every variable (`"$logfile"`, `"$HOME"` paths, `"$(whoami)"`).
- Sent the remote-rewrite block to the log file like the other blocks
do (was leaking to stdout).
- Made the remote-rewrite idempotent. A re-run used to break the
`cd && remote remove && remote add` chain because remove fails when
origin is already the desired URL. The loop now uses
`git -C "$dir" remote set-url` when origin exists and `remote add`
when it does not.
- Pre-created `~/sync`, `~/pictures`, `~/code`, `~/projects` so the
clones don't fail on missing parent dirs.
- Wrapped each `git clone` in a `clone_if_missing` helper so a re-run
skips destinations that already exist instead of erroring out.
README.md picks up the gitrepos.sh removal in the forking note.
|