diff --git a/dvc/commands/experiments/show.py b/dvc/commands/experiments/show.py index abd20047a..e837c7745 100644 --- a/dvc/commands/experiments/show.py +++ b/dvc/commands/experiments/show.py @@ -49,7 +49,7 @@ def _collect_names(all_experiments, **kwargs): for dep_name in exp.get("deps", {}): deps_names.add(dep_name) - return metric_names, param_names, deps_names + return metric_names, param_names, sorted(deps_names) experiment_types = { diff --git a/tests/func/experiments/test_show.py b/tests/func/experiments/test_show.py index 1cb13ffd7..7102ddc98 100644 --- a/tests/func/experiments/test_show.py +++ b/tests/func/experiments/test_show.py @@ -660,3 +660,21 @@ def test_show_outs(tmp_dir, dvc, scm): "nfiles": None, } } + + +def test_show_sorted_deps(tmp_dir, dvc, scm, capsys): + tmp_dir.gen("a", "a") + tmp_dir.gen("b", "b") + tmp_dir.gen("c", "c") + tmp_dir.gen("z", "z") + + dvc.run( + cmd="echo foo", + name="deps", + deps=["a", "b", "z", "c"], + ) + + capsys.readouterr() + assert main(["exp", "show", "--csv"]) == 0 + cap = capsys.readouterr() + assert "a,b,c,z" in cap.out