Radish alpha
h
rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5
Radicle Heartwood Protocol & Stack
Radicle
Git
fetch: Rewrite `git::repository::direct`
Merged lorenz opened 7 months ago

This function (and the helpers ancestry and find_and_peel) are eagerly peeling to commits, leading to updates of tags that target the same commit to be missed.

For example, there could be tag two tag objects with different OIDs A and B, from different authors, using different tag names, signed with different secret keys, and both pointing to the same commit C.

The implementation would consider A and B to be the same, just becuase A and B both peel to C, skipping the update.

This is counterintuitive, and when combined with canonical references can be quite confusing.

Change this to only reason about an ancestry if the two objects in question really both are commits directly. Otherwise, treat cases where no structure can be used as ancestry similarly to non-fast-forward updates.

lorenz opened with revision c34e0c19 on base 4787b53b +130 -64 7 months ago

This function (and the helpers ancestry and find_and_peel) are eagerly peeling to commits, leading to updates of tags that target the same commit to be missed.

For example, there could be tag two tag objects with different OIDs A and B, from different authors, using different tag names, signed with different secret keys, and both pointing to the same commit C.

The implementation would consider A and B to be the same, just becuase A and B both peel to C, skipping the update.

This is counterintuitive, and when combined with canonical references can be quite confusing.

Change this to only reason about an ancestry if the two objects in question really both are commits directly. Otherwise, treat cases where no structure can be used as ancestry similarly to non-fast-forward updates.

lorenz pushed revision 2 55d33859 on base 4787b53b +136 -65 7 months ago

Fix formatting.

lorenz pushed revision 3 ab5da5e7 on base ee49e287 +136 -65 7 months ago

Rebase

fintohaps pushed revision 4 63e354c0 on base ee49e287 +136 -65 7 months ago

REVIEW: can move Oid equality check earlier

I believe we can move the check to see if the objects are the same before we even resolve the target object.

Minor change, but saves one trip to the ODB if they are equal.

lorenz pushed revision 5 31ac7046 on base d9ce078d +136 -65 7 months ago

Squash review and rebase.

fintohaps merged revision 31ac7046 at 9c8ab7fa 7 months ago