Repository navigation
Releases: partnernetsoftware/minicon-srcmgr
Release list
MiniCon SrcMgr 0.0.9
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>andupstream <worktree> clearwrite 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 withmerge --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 explicitrefs/heads/B:refs/heads/Brefspec with--porcelain --no-follow-tagsand 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-remoteand reported with the actual remote object id. It is never retried automatically. - The window binds
pto the pull andPto 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 newp/Pbindings and no-remote explanation.cargo test --workspace, workspace Clippy andcheck_docs.pypass 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.
MiniCon SrcMgr 0.0.8
MiniCon SrcMgr 0.0.8
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.
Clone and remote configuration
clone <url> <destination> [--branch N] [--depth N]reviews the transport, an absolute destination, an empty or absent target, the branch name and the depth before any transfer.- Clone runs with
--no-checkout, so no repository-configured filter executes before the downloaded repository is reviewed and trusted. Checkout is a separate, later decision. - A nonempty destination is refused with its contents untouched; a failed transfer leaves whatever Git wrote in place so it can be inspected instead of being deleted.
- HTTP,
ext::, unknown schemes, spaces and control characters are refused before Git runs. remote <worktree> add|set-url|rename|remove ...prints a credential-free preview of the local effect and writes nothing unless--yesis present.- Remote names are checked with Git's own ref rules; unrelated configuration keys are preserved; removing a remote never touches the server repository.
- After a write the command reports that the repository trust fingerprint changed, so the next repository action requires a fresh review.
- Remote observation from 0.0.7 remains: redacted listing and refspecs, upstream distance, explicit fetch with per-ref results and cancellation.
The window still has no Clone form or Remotes surface; those, plus pull and push, are 0.0.9 scope in the roadmap.
Verification
Selected checks with MinGit 2.56.0 through SRCMGR_TEST_GIT:
srcmgr-git: 33 library cases, 3 clone fixtures and 3 remote-edit fixtures pass. The clone cases prove an unchecked-out worktree with resolvedmain, a preserved nonempty target, and refused transport/options that create nothing. The edit cases prove add/set-URL/rename/remove effects, preservation of an unrelated key, and byte-identical configuration after every refusal.srcmgr-cli: 2 clone cases pass. A clone prints the deferred-checkout review and leaves no working file; an add without--yeschanges no configuration, and with--yeswrites the remote and reports the trust change.- Affected Clippy is clean and
python scripts/check_docs.pypasses.
Known limits
No binary, installer or signed package is produced or published. Authenticated HTTPS/SSH helper, askpass and host-key paths remain BLOCKED without a controlled fixture host; local paths are used for ref semantics only and are not authentication evidence.
There is no window Clone form, no Remotes editing surface, no pull, push or upstream write, no one-use confirmation ticket for a configuration write (the CLI requires the explicit --yes and the preview is printed), no persisted fetch time and no live in-window progress. 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.
MiniCon SrcMgr 0.0.7
MiniCon SrcMgr 0.0.7
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.
Remote observation and explicit fetch
- Configured remotes are read from Git's machine output with fetch and push URL labels redacted; passwords, tokens in userinfo and URL query/fragment parts never reach a label.
- Fetch refspecs are shown as configured rather than replaced by a branch selector.
- The current branch's upstream and its distance (
ahead/behind) come from the fetched tracking ref, not from live server truth. fetchnames exactly one remote and reports the old/new object ids Git actually updated. A remote that is configured as a mirror is refused before any transfer; prune and submodule recursion are not enabled implicitly.- Network work has its own deadline, bounded output, cooperative cancellation that terminates the owned process tree, and progress filtered to Git's transfer lines. Remote banners and URLs are excluded.
- The window appends the upstream distance to the status line and binds
fto a fetch of the upstream-named remote, otherwise the first configured remote; with no remote it explains instead of acting. - CLI for verification:
remote <worktree> list [--json],remote <worktree> tracking [--json]andfetch <worktree> <remote> [--json].
Clone, remote configuration writes, pull, push and authenticated transports are not part of this checkpoint; they are allocated to 0.0.8 and 0.0.9 in the roadmap.
Verification
Selected checks ran against MinGit 2.56.0 through SRCMGR_TEST_GIT:
srcmgr-git: 31 library cases plus 4 new remote fixtures pass. The fixtures cover redaction and refspecs, a fetch that updates exactly the second copy's OID, an unknown remote refused before any transfer, and a mirror remote refused before any transfer. The ten status fixtures still pass.srcmgr-ui: 94 library cases pass, including upstream-remote selection and the no-remote explanation.srcmgr-cliremote test: the configured credential is absent from product output, the tracking ref equals the remote HEAD, tracking reportsahead 0 / behind 1, and an unknown remote leaves HEAD unchanged.cargo clippy -p srcmgr-git -p srcmgr-ui -p srcmgr-cli --all-targetsreports no warnings;python scripts/check_docs.pypasses.
Known limits
No binary, installer or signed package is produced or published. Authenticated HTTPS/SSH helper, askpass and host-key paths remain BLOCKED without a controlled fixture host; a local-path remote is used for ref semantics only and is never counted as authentication evidence.
The window has no dedicated Remotes surface, no per-remote selection, no clone, no pull or push, no persisted fetch timestamp and no live in-window progress (the CLI streams filtered progress). No native GUI remote journey, reference-host, accessibility, CJK/clipboard or long-session qualification is claimed; earlier scoped evidence keeps its original source and artifact identity under the 0.0.6 plan.
See the tagged execution plan, delivery contract and developer build instructions. Report reproducible issues through GitHub Issues without credentials or private repository content.
MiniCon SrcMgr 0.0.6 (development source)
MiniCon SrcMgr 0.0.6
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.
Local client
- Welcome, Open/Create, recent repositories and missing-location repair, with separate deliberate repository trust.
- Installed-Git selection/testing and local identity setup with explicit save and truthful refusal states.
- Repository tabs with independent drafts, selection, query and scroll; close/reopen and controlled process restart preserve acknowledged input.
- Named Changes/Diff controls, file/hunk/line stage and unstage, guarded discard/ignore and a complete unfiltered staged-index commit review.
- Literal quick filters for loaded files, branches and commits; filters do not narrow the commit target.
- Reviewed editor/terminal handoff to the selected repository/file using literal arguments.
- Shared caret/selection editing and initial Windows UIA semantics for delivered entry/task controls, plus typed message keys.
- Fix: background refresh of an unchanged file Diff retains navigation made while Git is working. Changed content resets the old line target; retained stale pixels never authorize writes.
Existing local branch, stash and history actions are retained. Clone/authenticated remote exchange, conflict-center and expanded history work remain later increments.
Verification
The refresh fix passed 92 UI cases and affected all-target Clippy. Final-source local-client CI independently passed the shared UI and actual-Git entry/tool/commit/Changes contracts. A deliberate removal of the readiness guard makes the new regression fail; restoring it passes. The optimized source-bound candidate completes 35 actual Diff-navigation trials, including 30 timed inputs independently verified to overlap owned Git process lifetimes.
The runner timeout regression uses a controlled blocking child instead of assuming that a fast git --version must exceed a one-nanosecond deadline. Windows/Linux CI passes. Production timeout/containment behavior is unchanged; the original Linux CI failure remains recorded in the execution plan.
On the available Windows Server 2022 x64 developer host, the standard fixture has 100k commits, 20k files, 200 refs and 200 changed paths. Actual inspect/stage/commit/branch-return/restart checks preserve the intended Git objects/index and acknowledged draft, with complete owned-process accounting and normal exits. Active-cycle CPU is 20.0 seconds against 16.4375 seconds for the same actual backend command sequence and identical final state; the budget is 21.046875 seconds. Earlier source-bound idle measurements are about 0.026% of one core over 60 seconds; their original source/artifact identity is retained in the plan rather than relabeled as a fresh run.
Known limits
These results are scoped development evidence. The host is an RDP session with a 1680×1050 desktop and 1024×641 client at 100% scale, not the declared Windows 11/reference court. Measured desktop feedback p95 is 49.18 ms for Files and 47.662 ms for the repaired Diff path, above the 33 ms reference target; application keyboard callback p95 is below 0.4 ms. No presentation-budget or supported-platform certification is claimed.
Real CJK composition/clipboard, full screen-reader/DPI coverage, reference-host and long-session qualification, complete English/zh-CN primary flows, clean-image launch and signed-package delivery remain open. Earlier failed native attempts remain recorded. Public source publication does not qualify the unsigned private package, other five OS/ISA cells or cumulative M1/M2 acceptance.
See the tagged execution plan, delivery contract and developer build instructions. Report reproducible issues through GitHub Issues without credentials or private repository content.
minicon-srcmgr 0.0.4
Source-only release. No binary is attached: signing and six-cell platform evidence are not available yet.
What changed since 0.0.3:
- d in Files discards a file's unstaged changes; d in the main panel discards the hunk under the cursor. Both ask first.
- s in Files stashes tracked changes; S applies the newest stash and keeps it.
- Space in Commits checks a commit out detached, after a question.
- A refused Git command shows Git's first error line.
Checks: cargo test --workspace (164 passing), clippy with no warnings, docs check PASS, and live window runs of each new action.
Plan and benchmark against lazygit, SourceTree and Git SCM: PRD 10 "Release 0.0.4 shell target". Limits and evidence: PRD 12 and PRD 14.
minicon-srcmgr 0.0.3
Source-only release. No binary is attached: signing and six-cell platform evidence are not available yet.
What changed since 0.0.2:
- Panels follow lazygit's numbers: 1 Status, 2 Files, 3 Branches, 4 Commits.
- Main-panel cursor with line-level staging (Space, v for a range) and hunk staging (a).
- a on Files toggles stage-all and unstage-all.
- d on Branches asks before git branch -d; y deletes, n keeps.
- <, >, Home, End, PgUp/PgDn, Ctrl+U and Ctrl+D move through lists and the diff.
- The window redraws on resize and responds to the mouse (clicks and wheel).
Checks: cargo test --workspace (154 passing), clippy with no warnings, docs check PASS, and live window runs.
Details: PRD 12 "Release 0.0.3 status" and PRD 14 "Release 0.0.3 plan" in the repository.