receive: correct the RefTransition.old rustdoc and spec-file citations
commit
7aa4dbereceive: correct the RefTransition.old rustdoc and spec-file citations
The doc claimed a stale old surfaces as a rejection, but the field
is carried, never enforced; only the gate’s fast-forward check against
the re-read tip refuses. Also cite receive.adoc, not a nonexistent
.sdoc.
Assisted-by: Claude:claude-fable-5
Reviews
No reviews of this commit yet — record a verdict below.
Start a review
crates/ents-receive/src/lib.rs
@@ -1,5 +1,5 @@
//! `receive`: the one write path every mutation frontend shares
-//! (`docs/spec/receive.sdoc`).
+//! (`docs/spec/receive.adoc`).
//!
//! This crate's single responsibility is orchestration above traits that
//! already exist by the time it lands: gate policy (mandatory hosted,
@@ -11,7 +11,7 @@
//!
//! # Spec coverage
//!
-//! From `docs/spec/receive.sdoc`:
+//! From `docs/spec/receive.adoc`:
//!
//! - `receive.unit`, `receive.shared-path` — [`receive`]: the sole
//! mutation entry point, identical for every frontend; only the trait
crates/ents-receive/src/proposal.rs
@@ -10,11 +10,12 @@
///
/// `old` is the frontier the *proposal* claims — what a `git push` command
/// line reports as its own base, or what a local UI last read. [`crate::receive`]
-/// never trusts it for admission: [`ents_gate::verify`] re-reads the actual
-/// current tip itself (the same snapshot every other check uses), and a
-/// mismatch between a claimed `old` and the store's real tip surfaces as an
-/// ordinary [`crate::TxResult::Rejected`] once the transaction is attempted,
-/// the same "someone moved this ref first" outcome a real push would see.
+/// never trusts it for admission — [`ents_gate::verify`] re-reads the actual
+/// current tip itself (the same snapshot every other check uses) — nor does
+/// it enforce it: unlike git's `receive-pack`, which refuses a push whose
+/// old-oid is stale, a stale `old` whose `new` still descends from the real
+/// tip applies cleanly, and one that does not is refused by the gate's own
+/// fast-forward check against the re-read tip, never by comparing this field.
///
/// # Examples
///