app-portage/layman-2.0.0_rc3 has 2 valid long sync arguments --sync and --sync-all but layman also accepts: layman --sync-al layman --sync-a layman --sync- which IMHO is just wrong. as it does not accept: layman --syn layman --sy or soone Reproducible: Always
Cool, never noticed that from layman before. Actually this is either a feature or bug of python's optparse module which is what layman is currently using to handle the command line options and processing. I believe it to actually be a feature. My testing shows abbreviating will work for any of the options. In the case of --sync and --sync-all. It required a minimum of --sync which is common to both options. Providing one additional character making it --sync- was enough to determine you were wanting --sync-all. I also tested --del for --delete with the same results. Since the optparse module is deprecated I will be migrating to the argsparse module which is replacing it. I wonder if argsparse does the same??? I'll do some more checking.
After migrating from optparse to argparse, this still persists. I would say there isn't much we can do about this. I'm going to mark it as CANTFIX simply because it's out of our hands. If I'm wrong then you are welcome to open it again and let me know. :)