Skip to content

Conversation

@paraseba
Copy link
Collaborator

Also fix a bug where we were listing deleted tags.

Some minimal refactoring too.

@paraseba
Copy link
Collaborator Author

paraseba commented Jan 28, 2025

Some tasks that will come in future PRs:

  • python bindings
  • timestamp monotonicity validation
  • snapshot timestamp check against object store clock
  • add properties to the edited snapshot with info about what changed: __expiration_old_parent: SnapshotId or something

}

/// Cretase a new `Snapshot` with all the same data as `self` but a different parent
pub fn adopt(&self, parent: &Snapshot) -> Self {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I love the name

/// ancestry. Any other snapshots are not touched.
///
/// The operation will edit in place the oldest non-expired snapshot,
/// changing its parent to be the root of the repo.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This means the initial commit snapshot is always the parent right?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Exactly, yes, the root of the repo will become the new parent of the first non-expired snapshot

@mpiannucci
Copy link
Contributor

This is so cool and really easy to read

Base automatically changed from push-xnwysvupwxyz to main January 28, 2025 14:49
Also fix a bug where we were listing deleted tags.

Some minimal refactoring too.
@paraseba paraseba merged commit a089f8c into main Jan 28, 2025
5 checks passed
@paraseba paraseba deleted the push-xovytstkowxw branch January 28, 2025 15:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants