What I meant is that emerge --sync/eix --sync does this check instead of
eselect repository. To me this makes sense since we can only do this
check *after* syncing.
That is a great point; I had not considered it.
So, you are saying to have emerge --sync/eix --sync check the masters
key and then warn the user of not synced up overlays, correct?

This however would require
that profiles/repo_name is always equal to the name entry in
repositories.xml, I'm not sure if this is currently always the case.
I had not considered this possibility either.
If that's the case, then I believe there are to possible behaviors:
If the names do match, then emerge --sync/eix --sync could both:
     1. issue a warning of the missing overlay dependency
     2. run the command to add said overlay (with confirmation).
On the other hand, if the names do not match, a missing dependency warning
could be issued, skipping the second step.
This sounds to me to be fairly reasonable behaviour.

In the cases where the names do not match; what could be the best
solution to "fix" this? Change repositories.xml on a case by case basis?
Ask overlay owners to change their profiles/repo_name and
profiles/masters key? Neither?

Best regards,
- Tomas Fabrizio Orsi

El mié, 21 jun 2023 a las 4:15, Andrew Ammerlaan (<andrewammerlaan@gentoo.org>) escribió:
On 21/06/2023 04:17, TOMAS FABRIZIO ORSI wrote:
> A warning could be a great way of making the user aware of this situation.
> Having said that, if eselect repository is able to check and warn the
> user of a not synced overlay(ies) dependency, then the hard bit is done

What I meant is that emerge --sync/eix --sync does this check instead of
eselect repository. To me this makes sense since we can only do this
check *after* syncing. Plus the user can also make changes to repos.conf
without using eselect repository, having the check done post-syncing
covers these cases as well.

You're probably right that once we have some message that says "Warning:
{repo1} is missing, it is required by {repo2}" it should be trivial to
call 'eselect repository enable {repo1}'. This however would require
that profiles/repo_name is always equal to the name entry in
repositories.xml, I'm not sure if this is currently always the case.

Best regards,
Andrew