gto icon indicating copy to clipboard operation
gto copied to clipboard

Version artifacts instead of Git commits

Open dberenbaum opened this issue 3 years ago • 2 comments

Right now, it's possible to add a new version of any artifact as long as there is no existing artifact version at that Git commit.

For example, in https://github.com/iterative/example-gto:

$ echo foo > foo
$ git add .
$ git commit -m "unrelated change"
[main 0b33552] unrelated change
 1 file changed, 1 insertion(+)
 create mode 100644 foo
$ gto register churn
Created git tag '[email protected]' that registers a new version
$ git diff [email protected] [email protected] -- artifacts.yaml models/churn.pkl

v3.1.1 and v3.0.0 reference the same models/churn.pkl object, and none of the metadata or enrichment data has changed either, so it seems like there are two versions of the same artifact. Could gto prevent a new version in this scenario?

This could be used to:

  • Check whether this artifact has already been versioned.
  • Automate version bumping (bump every artifact that has changed and redeploy only those artifacts).
  • Prevent unnecessary tags and reduce clutter.

dberenbaum avatar May 23 '22 14:05 dberenbaum

Thanks! Related to your earlier feedback: https://github.com/iterative/gto/issues/89

aguschin avatar May 26 '22 12:05 aguschin

Don't think it's relevant any more since index is a part of DVC now, but keeping it open since it's very useful from product/user perspective and in case we'll want to do it in DVC or Studio at some moment.

aguschin avatar Aug 30 '23 09:08 aguschin