v2: Do not load `.tar.bz2` record if there's a `.conda` artifact counterpart
jaimergp opened this issue · comments
defaults
has both .tar.bz2
and .conda
artifacts for many of its packages. When loading the repodata for e.g. defaults/noarch
, conda
's SubdirData
will not list the tar.bz2 artifacts for those packages that feature a .conda copy. This saves a lot of items.
I have a local test I haven't pushed yet, but this is the gist:
File "/workspaces/conda-libmamba-solver/tests/test_index2.py", line 84, in test_defaults_use_only_tar_bz2
assert libmamba_tar_bz2_total + libmamba_dot_conda_total == conda_tar_bz2_total + conda_dot_conda_total
AssertionError: assert (19967 + 14276) == (5691 + 14276)
I don't know if you want to do this by default, but maybe it can be a flag exposed in the Database
signatures?
What is a good criteria to know if a .conda
and .tar.bz2
are the same? Would filename without extension (i.e. name, version, build-string) suffice?
Would filename without extension (i.e. name, version, build-string) suffice?
I'm not sure if that's what conda/conda
seems to be doing in this block. It looks like they are merging entries more than replacing them altogether, though 🤔