| Neil Fuller | 0480f46 | 2019-04-09 19:23:35 +0100 | [diff] [blame] | 1 | This directory contains tooling to help when debugging time zone issues on | 
 | 2 | Android. | 
 | 3 |  | 
 | 4 | dump-tzdata.py | 
 | 5 |  - A tool that takes a tzdata file and splits it into component tzfiles, | 
 | 6 |    zone.tab, etc. Run it with --help for usage. The individual tzfiles can | 
 | 7 |    be inspected with tools like zdump, for example with "zdump -V <tzfile>" | 
 | 8 |  | 
 | 9 |    It also dumps human-readable CSV files of the (v1) content currently used by | 
 | 10 |    Android's ZoneInfo class. These can be inspected and compared with dumps from | 
 | 11 |    other tzdata files easily using your favourite text diffing tool. | 
| Neil Fuller | beb929c | 2020-04-21 13:51:26 +0100 | [diff] [blame] | 12 |  | 
 | 13 | visualize_zone_trees.py | 
 | 14 |   - A tool that visualizes time zones, specifically when time zones "sync up" | 
 | 15 |     (i.e. stop being distinct). Time zone IDs are created in the tzdb whenever | 
 | 16 |     there is a distinction between time zones, e.g. if a sub-region moved | 
 | 17 |     from being the same as one major region to be the same as a different major | 
 | 18 |     region, then a new time zone ID is required to represent the sub-region's | 
 | 19 |     behavior because neither of the IDs for the major region describe the time | 
 | 20 |     zone behavior of the sub-region throughout time. Once created, zone IDs | 
 | 21 |     persist in the tzdb forever. Zone trees are used to determine if zone IDs | 
 | 22 |     are still needed in order to represent relevant distinctions, e.g. does | 
 | 23 |     Android still need to offer a choice between two zones that will be the | 
 | 24 |     same from time X until the end of time? If the answer is no, one of the | 
 | 25 |     zones can be used / shown to users and the other need not be. |