CONTRIBUTING revision 309577
1309577SglebiusContributing to the tz code and data 2309577Sglebius 3309577SglebiusThe time zone database is by no means authoritative: governments 4309577Sglebiuschange timekeeping rules erratically and sometimes with little 5309577Sglebiuswarning, the data entries do not cover all of civil time before 6309577Sglebius1970, and undoubtedly errors remain in the code and data. Feel 7309577Sglebiusfree to fill gaps or fix mistakes, and please email improvements 8309577Sglebiusto tz@iana.org for use in the future. 9309577Sglebius 10309577SglebiusTo email small changes, please run a POSIX shell command like 11309577Sglebius'diff -u old/europe new/europe >myfix.patch', and attach 12309577Sglebiusmyfix.patch to the email. 13309577Sglebius 14309577SglebiusFor more-elaborate changes, please read the Theory file and browse 15309577Sglebiusthe mailing list archives <http://mm.icann.org/pipermail/tz/> for 16309577Sglebiusexamples of patches that tend to work well. Ideally, additions to 17309577Sglebiusdata should contain commentary citing reliable sources as 18309577Sglebiusjustification. 19309577Sglebius 20309577SglebiusPlease submit changes against either the latest release in 21309577Sglebius<ftp://ftp.iana.org/tz/> or the master branch of the experimental 22309577SglebiusGit repository. If you use Git the following workflow may be helpful: 23309577Sglebius 24309577Sglebius * Copy the experimental repository. 25309577Sglebius 26309577Sglebius git clone https://github.com/eggert/tz.git 27309577Sglebius cd tz 28309577Sglebius 29309577Sglebius * Get current with the master branch. 30309577Sglebius 31309577Sglebius git checkout master 32309577Sglebius git pull 33309577Sglebius 34309577Sglebius * Switch to a new branch for the changes. Choose a different 35309577Sglebius branch name for each change set. 36309577Sglebius 37309577Sglebius git checkout -b mybranch 38309577Sglebius 39309577Sglebius * Edit source files. Include commentary that justifies the 40309577Sglebius changes by citing reliable sources. 41309577Sglebius 42309577Sglebius * Debug the changes, e.g.: 43309577Sglebius 44309577Sglebius make check 45309577Sglebius make install 46309577Sglebius ./zdump -v America/Los_Angeles 47309577Sglebius 48309577Sglebius * For each separable change, commit it in the new branch, e.g.: 49309577Sglebius 50309577Sglebius git add northamerica 51309577Sglebius git commit 52309577Sglebius 53309577Sglebius See recent 'git log' output for the commit-message style. 54309577Sglebius 55309577Sglebius * Create patch files 0001-*, 0002-*, ... 56309577Sglebius 57309577Sglebius git format-patch master 58309577Sglebius 59309577Sglebius * After reviewing the patch files, send the patches to tz@iana.org 60309577Sglebius for others to review. 61309577Sglebius 62309577Sglebius git send-email master 63309577Sglebius 64309577Sglebius * Start anew by getting current with the master branch again 65309577Sglebius (the second step above). 66309577Sglebius 67309577SglebiusPlease do not create issues or pull requests on GitHub, as the 68309577Sglebiusproper procedure for proposing and distributing patches is via 69309577Sglebiusemail as illustrated above. 70309577Sglebius 71309577Sglebius----- 72309577Sglebius 73309577SglebiusThis file is in the public domain. 74