treeverse / treeverse/dvc

`dvc exp list` (and other commands): always show full unique experiment hash

Open
#9,485 8 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

A: experiments bug
Dominant language
Python
Stars
15.9k
Forks
1.3k
PR merge metrics
No merged PRs in 30d

Description

I hit this issue with duplicated experiments (don't know yet why, any ideas? did we change the logic behind the naming recently @daavoo @dberenbaum ?):

@shcheklein ➜ /workspaces/ultralytics (dvclive) $ dvc exp list -A
21122ee:                                                              
        armed-fuzz
        testy-leno
d0f99f9:
        level-tugs
        mothy-jeer
        weepy-haet
        armed-fuzz
        testy-leno
        nosed-mold
dvclive:
        testy-leno
        withy-keek
5a2d27b:
        nosed-mold
        armed-fuzz
        testy-leno
        withy-keek
fd8435a:
        testy-leno
@shcheklein ➜ /workspaces/ultralytics (dvclive) $ dvc exp remove armed-fuzz
ERROR: Ambiguous name 'armed-fuzz' refers to multiple experiments. Use one of the following full refnames instead:

        refs/exps/5a/2d27b1aeb5575916e3480b1b77900b155002a1/armed-fuzz
        refs/exps/d0/f99f94555e5488a2f64cd7680b2419d921eae6/armed-fuzz
        refs/exps/21/122eefcbe711de67eea087c4f93e0566ce3dbd/armed-fuzz

dvc exp show -A doesn't show all commits in this case (can be orphaned commits and experiments in this case - I'm doing a lot of rebases, etc).

There is not easy way to disambiguate those from the listing (I don't know how to remove a specific one under a specific commit).

We should always everywhere show a Git hash for an experiment. Name should serve as tag, or as a human readable name, etc. Collisions should be fine.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the dvc exp list, dvc exp show -A, and dvc exp remove entry points described in the issue, reproducing the duplicate-name case. Trace how experiment references are formatted and resolved; done means listings expose a full unique Git hash wherever needed so a specific experiment can be selected unambiguously.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, python
Domain
cli, developer-experience
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.