0.6.4
Native Git Bridge 0.6.4
This release needs the runner reinstalled in Termux (v14): open the companion app and use Update runner, or run the install command from Settings. Copy main.js and styles.css when updating by hand.
Take the disk back
A new command shows where your .git went and cleans it up. Interrupted downloads leave multi-gigabyte temporary files nothing ever collects, and every repair download adds a full copy of the history without removing the old one — a ~4 GB vault was found carrying 20 GB of .git/objects this way. Clean up repository storage scans first and shows the real numbers, then removes the leftovers and repacks everything reachable into one pack. Nothing any branch, tag, reflog or the index can reach is touched, reflogs are never expired, and the verdict says exactly what was freed.
Content that only unpushed commits hold is never shed. The remote could not give it back, so the cleanup waits and says why instead of quietly destroying the one copy.
Hold less on this device
Sparse checkout hides files from the vault, not from .git — until now. The packs still carry every version of every file, hidden or not, which is why a 200 MB working set can sit on gigabytes of history. Two per-device switches in Settings → Repository footprint change that:
Partial clone (blob:none) fetches file content on demand and never downloads the content of files your sparse checkout hides. Show again and old file versions then need the network — the switch says so before it does anything. When sparse checkout is active, the plugin offers this once.
Shallow history keeps only the newest commits on this device (how many is configurable; the default is 100). The history panels reach only what stays, and enabling it clears this device's reflog — kept, it would pin the old commits and the cut would free nothing.
Both switches show the repository's actual state and move only after Termux confirms; a change that fails changes nothing on screen. Space returns with the next storage cleanup.
Cloning asks how much this device should hold. A new device can start as a lightweight partial clone at a fraction of the size, and re-cloning over an existing repository now authenticates with the credentials that repository already uses — passed to git on the command line, written nowhere.
Stop tracking a file
A tracked file ignores every ignore rule, so workspace-mobile.json kept landing in every commit no matter what .gitignore said. The plugin now says so the moment you add a rule for a tracked file, and offers Stop tracking (keep the file) — also in the file's git menu. The file stays on disk, a deletion enters the index for you to commit, and the confirmation names the consequences up front: other devices' pulls remove their copy (or report an ordinary conflict), and without an ignore rule the next sync stages the file right back.
Fixes
- The state line no longer freezes at its last tick in the history panels after opening a diff from there.
- Changing a
.gitignore, sparse or exclude rule refreshes the git panel on every route, instead of leaving the old state on screen until a manual refresh. - The live view of the output panel has its own tab now, so switching to a log and back no longer needs the undiscoverable tap-the-active-tab gesture; the console field also gained a wrap-long-lines toggle, set apart from the tabs.
- A correctly updated runner is no longer branded "NEWER than this plugin expects". The advice compared against the minimum instead of the shipped version, so every healthy installation saw a red warning; the settings chip says "needs vN" only when the runner is actually below it.
- Modal titles fit one line on a phone. The worst offender was a failure window titled with the whole question it was failing.
- The installer upgrades git instead of keeping a years-old one, reports the version it ended at, and warns when the package repository itself is outdated — including the abandoned Play Store Termux build, which it now detects by name. It also installs the runner and enables the companion permission even when no vault exists yet, so a brand-new device finishes setup from inside Obsidian.
- A repair backup branch can be deleted on demand (Delete repair backup branch in the palette), not only from the once-a-day reminder.
Full Changelog: 0.6.3...0.6.4