If a particular metadata.xml file contains errors directly related to USE definitions (i.e. <use/> with no <flag/> inside), repoman.utilities.parse_metadata_use() function raises uncatched exception which causes repoman to die. Moreover, the message used doesn't include the full path to the broken metadata.xml file, which makes it useless when repoman is called upon a large repository (like Sunrise). I have prepared a patch which causes repoman to catch that exception and report is as metadata.bad, which I guess is the best solution. Additionally, I have simplified the message passed with the exception to make it suitable for direct use for repoman output.
Created attachment 228141 [details, diff] The described patch
Created attachment 228927 [details, diff] git-am format patch
Thanks, it's in git now: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=6994173a25dba6a0ccd0242d6471882992453913
This is fixed in 2.1.9.