ga4gh / ga4gh-schemas

Models and APIs for Genomic data. RETIRED 2018-01-24
http://ga4gh.org
Apache License 2.0
214 stars 110 forks source link

Add a test to ensure tag numbers aren't reused #803

Open david4096 opened 7 years ago

david4096 commented 7 years ago

Tag numbers are how protocol buffers allows field names to be reused. You don't have to worry about your field being named name as a string today and an int tomorrow, since the tag number is how the software resolves what type to infer.This allows the protocol to have some future compatibility, in that as long as a tag number is never reused, clients should be able to properly serialize and deserialize messages with whatever field names we use.

Providing a test that ensures tag numbers were not reused compared to the current state of master would help the situation greatly. To give us the confidence that this has never happened, we might provide a history somewhere in the tree, easily accessible, that logs all the previously used tag numbers by message.