Add a custom YAML Unmarshaller for repoEntry objects. (#45)
Add a custom YAML Unmarshaller for repoEntry objects. (#45)

Keys in repo files vary between upper and lower case in the wild. This is currently handled by unmarshalling into a struct with multiple redundant variables hoping to match, but this in turn requires handling the indeterminate contents of repoEntry objects elsewhere in the code. This handling is hit-or-miss, with some repoEntry calls not fully accounting for the various potential contents.

UnmarshalYAML satisfies an interface in the YAML library, and is called automatically during unmarshalling of the type. Here, we force keys to lower, allowing us to always populate .Name and .URL, regardless of what case they're keyed with in the input.

This fixes a bug or two elsewhere in googet, where LName and LURL were not being handled correctly.
google/googet