tree 3a3485f9311b1b8ec9b74f85eb2b60ba15981504
parent a8fabc1fa526b96b933087b3635d4fffc3e71976
author Dave Borowitz <dborowitz@google.com> 1551396434 -0800
committer Dave Borowitz <dborowitz@google.com> 1551977754 -0800

Support externally-provided UUIDs with a scheme: prefix

UUID is now provided by callers, in the form SCHEME ':' ID. The scheme
is analogous to the scheme in an ExternalId, and describes the system
from which the checker originated. The ID portion is a unique ID in any
format.

Both portions must be alphanumeric plus a few punctuation characters.
This set is intentionally limited to begin with; previous experiments
with allowing more characters (see earlier patch sets of this change)
led to more implementation trouble than they were worth, in the absence
of specific requirements from external systems to support certain
characters. Plus, it's always easier to broaden the set of allowed UUIDs
over time than to narrow it.

We still use SHA-1s as the lookup key for ref names, it's now just
SHA1(UUID). This leads to some complexity in the CheckerConfig class,
since an instance may be created either with a CheckerUuid or a ref
name. In the latter case, the UUID is not known until the config is
loaded.

Name is now a completely optional field, treated like any other optional
field. In particular, we no longer have special logic for recording
renames in commit messages. The logic would have had to get more
complicated to take into account unset names, and I judged it not worth
the effort. If we go down that route, perhaps we can write something
more general for recording updates to other fields (again: name is not
special), but honestly I think `git log -p` is good enough.

Change-Id: I0fff95b3f9eb408cee4651544b0b5acbef30e016
