Implement SSH receive-pack for push and complete synchronization #116
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal
Complete Git-over-SSH with safe push and combined synchronization through the server-side
git-receive-packservice.Scope
russhexec channel forgit-receive-packusing the same endpoint, identity, host-key, quoting, cancellation, and diagnostic rules as upload-pack.syncfor both SSH URL spellings.sync; never push after a failed/cancelled/conflicted pull.Tests and verification
Acceptance criteria
Depends on SSH upload-pack plus the authentication/host-verification issue in this milestone.
Implemented and pushed in
76e707f6457f3a0d8b46f3a49beb9b5d16162046.git-receive-packover the same verified/authenticated Russh session policy as upload-pack, including shared command/path quoting.Verification:
cargo fmt --all -- --checkRUSTFLAGS="-D warnings" cargo check --workspace --all-targetscargo clippy --workspace --all-targets -- -D warningscargo test --workspacemain, HTTPSorigin, 0 ahead / 0 behind, clean worktree. No Apple app sources changed.cargo audit: existing RUSTSEC-2023-0071 onrsa0.9.10 and 0.10.0-rc.18 (medium, no fixed upgrade), plus 15 allowed transitive warnings; this issue added no dependencies.