ein Keller, viele Türen 🚪🔐
Find a file
2026-08-16 01:53:27 +02:00
docs docs: pass-Anleitung — Grundlagen, GPG-Keys, git-Legitimität, Multi-Host, Multi-Domänen 2026-08-15 20:53:29 +02:00
.gitignore chore: Standard-Dateien ergänzen 2026-08-15 19:09:51 +02:00
CHANGELOG.md chore(release): v0.1.0 2026-08-16 01:53:25 +02:00
CLAUDE.md chore: Standard-Dateien ergänzen 2026-08-15 19:09:51 +02:00
cliff.toml chore: Standard-Dateien ergänzen 2026-08-15 19:09:51 +02:00
LICENSE chore: Standard-Dateien ergänzen 2026-08-15 19:09:51 +02:00
pass-sync.sh feat(sync): pass-sync — fetch/rebase/push mit lautem Konflikt-Abbruch 2026-08-15 19:09:51 +02:00
README.md chore: Standard-Dateien ergänzen 2026-08-15 19:09:51 +02:00

pass-sync

License: MIT Platform: Linux Shell: Bash Pass: Supported Termux: Compatible

Bidirektionaler git-Sync für den pass-Store: fetch, rebase, push. Konflikte werden laut gemeldet — nie automatisch aufgelöst.

Features

  • git fetchgit rebase --autostash origin/maingit push, wenn lokale Commits vorliegen
  • Offline: stiller No-op — der nächste Lauf holt alles nach
  • Echt-Konflikt (derselbe Eintrag auf zwei Geräten geändert): rebase --abort, laute Meldung via notify-send (Linux) bzw. termux-notification (Android), der Store bleibt benutzbar — die Auflösung wählt ein Mensch
  • Gedacht als post-commit-Hook des Stores (pass committet jede Änderung selbst) plus Timer-Backstop für die Gegenrichtung

Aufruf

pass-sync

Keine Argumente, keine Optionen. Store-Pfad via PASSWORD_STORE_DIR (Default: ~/.password-store).

Voraussetzungen

  • bash, git, ein pass-Store als git-Repo mit Remote origin / Branch main
  • optional: notify-send (Linux) oder termux-notification (Termux:API) für Konflikt-Alarme

Installation

git clone ssh://git@forgejo.mueller.network:2222/holm.tools.public/pass-sync.git
ln -s "$(pwd)/pass-sync/pass-sync.sh" ~/bin/pass-sync

Als Hook (~/.password-store/.git/hooks/post-commit, ausführbar):

#!/usr/bin/env bash
command -v pass-sync >/dev/null 2>&1 && pass-sync || true
exit 0

Timer-Backstop Linux (systemd --user, alle 15 min) oder Termux:

termux-job-scheduler --script ~/bin/pass-sync --period-ms 900000 --network any

Changelog

Siehe CHANGELOG.md — generiert via git-cliff.

Lizenz

MIT — siehe LICENSE.