Git
The Git plugin reads what the repository knows about the root. It writes the tag eidos version record --tag asks for, the git mv or git rm behind a rename or delete, the commit, pull, and publish a person makes in Source control, and, only where you turn them on in your private settings, an auto fetch, an auto save, and its publish. On by default where the root is inside a repository, off outside one.
In the browser
Section titled “In the browser”- File history, a view in the Auxiliary Sidebar: the commits that touched the open blueprint, newest first, following renames, each with a Diff button that opens the two versions in this machine’s viewer.
- Source control, an activity in the Activity Bar with the count of changes on its icon: what changed under the root (
git statusover the root alone), each path with its mark and a box ticked by default, a message, and Commit, which stages and commits the ticked paths and nothing else (git add -A -- <paths>, thengit commit -m <message> -- <paths>). A rename commits the path it came from with it, and a deletion already staged (the page deletes throughgit rm) is committed as it stands. Git’s refusals are shown as git said them. The repository’s last 50 commits sit below, and an eye on a row opens the file’s page. - Summarize, beside Commit when Plato is on, asks Plato for a one-line message for the ticked changes and puts it in the box to edit or commit as it is. What Plato is asked is the root’s to word, under Commit messages on Plato’s page.
- Fetch, under Source control’s head when the branch has a remote, reads what the remote holds without changing anything under the root, and the row beside it says how many commits there are to pull from the upstream (“2 commits to pull from origin/main”). Pull, there while there are commits to pull, fetches and then moves the branch up to its upstream only where that is a fast-forward: it never makes a merge commit or rebases, and when your branch and the upstream have each moved on, it says what git said and leaves the rest to your own tool.
- Publish, in Source control’s head when the branch has a remote, fetches and then pushes the branch to it (to its upstream, or to
originwith the upstream set the first time), showing how many commits the remote has not seen. While the upstream holds commits your branch does not, Publish is disabled and the row under the head says to pull them first. - Auto save, a private setting on the plugin’s page, commits every change under the root every 5, 15, 30, or 60 minutes, with Plato’s summary as the message when Plato answers and a plain list of the files when it does not; with publish on, each one is pushed as it is made, after a fetch, and left unpushed while there are commits to pull, saying how many. The last one shows at the top of Source control. A commit or a push that waits on a signing key or a remote is stopped after a while and says so, and the page never waits on it.
- Auto fetch, a private setting on the plugin’s page, fetches every 5, 15, 30, or 60 minutes, the first time soon after the server starts, so the count to pull stays current. Off by default. A fetch never stops to ask for a password, and on macOS and Linux not for a key’s passphrase either: a remote that needs one your credential helper or ssh agent does not give fails in git’s words.
- A comment nobody is acting as a listed user is signed by the git identity, matched to a listed user where one has that email. Comments →
- A rename or delete of a tracked file, from the page or the shell, is
git mvorgit rm, so history follows. An untracked path, a root outside a repository, or a git that refuses hands the operation back and a plain rename or delete follows.
A top-level doc, the framework document, and a canvas have no history view. There is no blame, no branch switching, and no merge or rebase: a pull only fast-forwards.
On disk
Section titled “On disk”.eidos/plugins/git/local.yaml: one person’s settings, set on the plugin’s page under private and never committed:diff_viewer, a command with{a}and{b}for the two files (code --diff {a} {b});auto_save,offor5,15,30,60minutes;publish, whether each auto save is pushed;auto_fetch,offor5,15,30,60minutes. An auto save never starts on a clone because someone else turned theirs on.
The plugin has no shared setting beyond its switch and keeps no other file.
From the shell
Section titled “From the shell”There is no eidos git: the repository is read with git itself. What the plugin supplies to the CLI is the recorded versions.
eidos version record 1.0.0 # a row naming HEADeidos version record 1.0.0 --commit a1b2c3d --tag # names that commit and tags it blueprints/1.0.0git log --follow -- Blueprints/specs/login.md # the commits that touched a blueprintgit show a1b2c3d:Blueprints/specs/login.md # the blueprint as it wasWith the plugin off, recording says so and eidos version lists what is recorded. eidos version →
What the check reports
Section titled “What the check reports”Nothing of its own. Off, outside a repository, or without a git binary, the plugin answers empty, spawns nothing, and its page says which of the three it is.