iterative / iterative/gto

Version artifacts instead of Git commits

Open
#158 2 comments 1 reaction 0 assignees View on GitHub
design limitations studio
Dominant language
Python
Stars
162
Forks
18
PR merge metrics
No merged PRs in 30d

Description

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:

```console
$ 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 'churn@v3.1.1' that registers a new version
$ git diff churn@v3.1.1 churn@v3.1.0 -- 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.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.