struct object_id new_oid;
} *items;
size_t nr, alloc;
+
+ /*
+ * The final object ID that was rewritten. Note that this field has
+ * somewhat special semantics and may or may not be what you want:
+ *
+ * - If no commits were rewritten it will remain uninitialized.
+ *
+ * - If a thicket of branches is rewritten it is undefined in which
+ * order those branches will be rewritten, and thus the final object
+ * ID may point to a different commit than you'd expect.
+ *
+ * That being said, this field can still be useful when you know that
+ * you only replay a single strand of commits. In that case, the final
+ * commit will point to the tip of the rewritten strand of commits.
+ */
+ struct object_id final_oid;
};
void replay_ref_updates_release(struct replay_ref_updates *updates);