Skip to content

Releases: rhsev/mark-twin

v0.2.0

21 Jun 21:25

Choose a tag to compare

Templating and machine-specific config rendering.

Features:

  • Templating: per-host {{tokens}} ({{src.*}}, {{dst.mount}}, {{dst.*}}) in sync-file path fields, resolved from a host table in config
  • Render: true renders machine-specific files — substituting paths inside the file, not just its location — and places them; Target-Path: sets a divergent target path
  • Delete: true propagates source deletions (rsync --delete)
  • twin doctor preflight: tools, renderers, hosts, mounts, and template tokens

Improvements:

  • Change detection now uses rsync --itemize-changes — deterministic, covering files, directories and deletions; the post-sync Cmd hook runs only on a real change
  • Render jobs sync and report status by content, not mtime

Fixes:

  • status / list --json crashed on Time#iso8601 without require "time"

v0.1.3

12 Jun 22:43

Choose a tag to compare

First release under the new gem name mark-twin (previously grubber-twin).

Fixes:

  • Stage-1 picker could return the wrong program when names repeat across sync-files or are substrings of each other (Git/GitHub)
  • Conflict detection now uses the same 60s tolerance as the status display — no more spurious conflict warnings from mtime jitter
  • A failing post-sync Cmd is now reported instead of silently succeeding
  • Preview mapfile cleanup, shell-escaped apex config values

v0.1.2

18 May 18:51

Choose a tag to compare

First tagged release.

  • Sync configuration folders between two Macs from self-documenting Markdown files
  • Interactive two-stage picker (fzf) with compact apex preview
  • File/directory arguments support absolute and relative paths
  • 48 tests, error handling across all modules

Install: gem install grubber-twin

External tools required: grubber, rsync, fzf. Optional for preview: apex / glow / bat.