A push reports a tag it adds as an update b2ef93bb2366
Newly adopted tags join PushReport.updated (old state zero), so a hub starts the pipeline's tag jobs; a tag pushed again is not reported. refs oxygenflow#24
- Author
- Andy McCall @andymccall <[email protected]>
- When
- · 2026-10-02 21:52 UTC
- Signature
- ✔ signed by Andy McCall
- Hash
b2ef93bb2366af7658bb16e7663d67b55087f3221ba2f43f16e15fa31bb6ec21- Depends on
- 132b884b9a8d 982864068a59
- Depended on by
- b63fc7a77fc6 1ec6fdbc6bcb
- In bookmarks
- agents-in-readme bare-hashes carried-not-removed carry-identical doctor-trust identical-sides keyless-tags main merge-remote-bookmark only-help-103 paths-for-resolutions-and-amend push-notes show-stat subrepo-pin-state switch-says
- In tags
- v0.10.0 v0.11.0 v0.3.1 v0.4.0 v0.4.1 v0.4.2 v0.4.3 v0.4.4 v0.4.5 v0.4.6 v0.5.0 v0.5.1 v0.6.0 v0.7.0 v0.8.0 v0.9.0
- Edits
- 2 atoms, 0 tree operations, 1 file
Browse the tree at this change
modified crates/oxy-core/src/repo/sync.rs +12 −0
| … | 394 unchanged lines |
||
| 395 | 395 | } |
|
| 396 | 396 | for t in &tags { |
|
| 397 | 397 | let name = format!("tags/{}", t.name); |
|
| 398 | + | let new = !view.tags.contains_key(&t.name); |
|
| 398 | 399 | match self.adopt_tag(&mut view, t, policy.as_ref()) { |
|
| 399 | 400 | Ok(()) => { |
|
| 401 | + | // A tag new here is an update too, so a hub can start |
|
| 402 | + | // its pipeline's tag jobs (oxygenflow#24); one it |
|
| 403 | + | // already had, sent again, is not. |
|
| 404 | + | if new { |
|
| 405 | + | report.updated.push(RefUpdated { |
|
| 406 | + | name: name.clone(), |
|
| 407 | + | old_state: ObjectRef::ZERO, |
|
| 408 | + | new_state: t.state, |
|
| 409 | + | heads: t.heads.clone(), |
|
| 410 | + | }); |
|
| 411 | + | } |
|
| 400 | 412 | names.push(name.clone()); |
|
| 401 | 413 | results.push(RefResult { name, ok: true, reason: String::new() }); |
|
| 402 | 414 | } |
|
| … | 547 unchanged lines |