Take pushes in parts; pin oxygenflow d2e5e11a (oxygen 8e86d728) 4bae285c6ed8
oxygen now sends a long push in parts, each of objects alone but the last, and reports a part's outcome as an `objects` result. The push log records references only: a part moves nothing, and its push is recorded when the last part names the bookmark. The pin brings oxygen's lazy state index histories (oxygen#94) and the import fix for oxygen#88 too. refs andymccall/oxygen#95
- Author
- Andy McCall @andymccall <[email protected]>
- When
- · 2026-10-10 04:02 UTC
- Signature
- ✔ signed by Andy McCall
- Hash
4bae285c6ed8f4866e83476f33ee04619ef87776f910db87e00a21b6ed0e5145- Depends on
- 1f78655a0466 336c953a020f 380996db84e5 62d6e969f180 a6c241e8eba0 d23464c0ac60
- Depended on by
- 0ee5c3fb32eb 8aafd2023dec
- In bookmarks
- api-unknown-fields cancel-landed-runs clear-waiting close-proposal-140 diffusion-pin-bookmark draft-ready image-check job-waits main oh-comment-body-file proposal-list-fast run-one-job wiki-says-so
- In tags
- v0.4.1 v0.4.2 v0.5.0 v0.5.1 v0.5.2 v0.6.0 v0.6.1 v0.7.0 v0.8.0 v0.9.0 v0.9.1 v0.9.11 v0.9.15 v0.9.16 v0.9.19 v0.9.2 v0.9.20 v0.9.21 v0.9.22 v0.9.23 v0.9.24 v0.9.3 v0.9.4 v0.9.5 v0.9.6 v0.9.7 v0.9.8 v0.9.9
- Edits
- 7 atoms, 0 tree operations, 3 files
Browse the tree at this change
modified Cargo.lock +3 −3
| … | 2288 unchanged lines |
||
| 2289 | 2289 | ||
| 2290 | 2290 | [[package]] |
|
| 2291 | 2291 | name = "oxy-core" |
|
| 2292 | - | version = "0.4.0" |
|
| 2292 | + | version = "0.4.2" |
|
| 2293 | 2293 | dependencies = [ |
|
| 2294 | 2294 | "blake3", |
|
| 2295 | 2295 | "ed25519-dalek", |
|
| … | 16 unchanged lines |
||
| 2312 | 2312 | ||
| 2313 | 2313 | [[package]] |
|
| 2314 | 2314 | name = "oxy-server" |
|
| 2315 | - | version = "0.4.0" |
|
| 2315 | + | version = "0.4.2" |
|
| 2316 | 2316 | dependencies = [ |
|
| 2317 | 2317 | "axum", |
|
| 2318 | 2318 | "axum-server", |
|
| … | 4 unchanged lines |
||
| 2323 | 2323 | ||
| 2324 | 2324 | [[package]] |
|
| 2325 | 2325 | name = "oxy-strata" |
|
| 2326 | - | version = "0.4.0" |
|
| 2326 | + | version = "0.4.2" |
|
| 2327 | 2327 | dependencies = [ |
|
| 2328 | 2328 | "async-trait", |
|
| 2329 | 2329 | "bytes", |
|
| … | 2525 unchanged lines |
modified crates/hub/src/protocol.rs +3 −0
| … | 207 unchanged lines |
||
| 208 | 208 | _ => None, |
|
| 209 | 209 | }; |
|
| 210 | 210 | let pool = self.pool.clone(); |
|
| 211 | + | // A part of a long push (objects alone) moves nothing: the push it |
|
| 212 | + | // belongs to is recorded when its last part names the references. |
|
| 211 | 213 | let results: Vec<db::repos::PushOutcome> = report |
|
| 212 | 214 | .results |
|
| 213 | 215 | .iter() |
|
| 216 | + | .filter(|r| r.name != oxy_core::repo::OBJECTS_RESULT) |
|
| 214 | 217 | .map(|r| { |
|
| 215 | 218 | let updated = report.updated.iter().find(|u| u.name == r.name); |
|
| 216 | 219 | db::repos::PushOutcome { |
|
| … | 138 unchanged lines |
replaced deps/oxygenflow +0 −0
No line changes.