Skip to content

Question About Checkout Logic #571

@fishbotics

Description

@fishbotics

Hi Keepsake Team,

I'm thinking about switching my experiment management system over to keepsake, but I had a few questions about code management that I didn't see explained in the docs.

The docs say that you can checkout a set of results and it will update the working directory to be at the code state where checkpoint was called. How exactly does this work? Is it like Git in that it stores diffs? Or is it going to store an entire copy of my repo every time I run an experiment? What happens if I check out some results but then want to revert my working directory back to where it was before I checked out those results (say, I had implemented some function).

Basically, I'm currently using Git to manage all my experiment results by storing the corresponding commit hash and ensuring experiments can't run without being committed. I think what you all are doing is really cool and I like the idea of the keepsake data storage model (and the ability to filter by results!). But, I'm wondering whether I lose anything in terms of source code management by switching from a git-based solution to a keepsake one.

Thanks a lot for your help! I'm happy to update the docs with a PR based on whatever comes of this discussion :D

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions