Skip to content

MiniCon SrcMgr 0.0.9

Latest

Choose a tag to compare

@mgttt mgttt released this 28 Oct 16:21
· 5 commits to main since this release

MiniCon SrcMgr 0.0.9

Development source checkpoint. GitHub supplies the tagged source archives; no executable or portable ZIP is distributed with this release. The first qualified runnable Windows beta remains the 0.1.0 target.

Upstream, fast-forward pull and current-branch push

  • upstream <worktree> set <remote>/<branch> and upstream <worktree> clear write only the current branch's upstream; invalid or option-like names are refused before Git runs.
  • pull <worktree> fetches the upstream remote first, then integrates only with merge --ff-only. A diverged branch returns Git's refusal and leaves local and remote commits intact; no merge commit, rebase or conflict resolution is performed.
  • push <worktree> <remote> sends one explicit refs/heads/B:refs/heads/B refspec with --porcelain --no-follow-tags and reports Updated, UpToDate or Rejected from Git's own report.
  • A refused ref is distinguished from a transport or authentication failure by the captured error line, so an auth problem is not relabelled as a policy rejection.
  • A cancelled or timed-out push is classified Unknown, observed once with ls-remote and reported with the actual remote object id. It is never retried automatically.
  • The window binds p to the pull and P to the push, reporting the final outcome in the result line; without a configured remote it explains instead of acting.
  • Remote observation (0.0.7), clone with deferred checkout and reviewed remote configuration (0.0.8) remain available.

The window still has no Clone form or Remotes panel, and authenticated HTTPS/SSH transports are not qualified; those remain open with the 0.1.0 delivery work.

Verification

Selected checks with MinGit 2.56.0 through SRCMGR_TEST_GIT:

  • srcmgr-git: 33 library cases plus 4 sync fixtures and 4 push fixtures. Sync covers upstream set/clear with invalid names, a fast-forward that reaches the fetched upstream, a diverged branch refused without moving HEAD, and a missing upstream. Push covers a new branch reaching the local OID and repeating as up to date, a remote-ahead rejection that keeps the remote commit, and detached-HEAD and unknown-remote refusals before transfer.
  • srcmgr-cli: the exchange case pushes one commit and fast-forwards a second clone to exactly that commit, then reports up to date; clone and remote-edit cases still pass.
  • srcmgr-ui: 96 cases pass, including the new p/P bindings and no-remote explanation.
  • cargo test --workspace, workspace Clippy and check_docs.py pass at the release commit.

Known limits

No binary, installer or signed package is produced or published. Authenticated HTTPS/SSH helper, askpass and host-key paths are BLOCKED without a controlled fixture host; local-path remotes exercise ref semantics only.

A killed-transfer unknown-outcome receipt is not recorded, the three new CLI verbs have no JSON output, and the window shows the result after the action rather than a pre-action review line. No native, reference-host, accessibility, CJK/clipboard or long-session qualification is claimed.

See the tagged execution plan, delivery contract and developer build instructions. Report reproducible issues through GitHub Issues without credentials or private repository content.