Home | History | Annotate | Line # | Download | only in time
CONTRIBUTING revision 1.2
      1 Contributing to the tz code and data
      2 
      3 The time zone database is by no means authoritative: governments
      4 change timekeeping rules erratically and sometimes with little
      5 warning, the data entries do not cover all of civil time before
      6 1970, and undoubtedly errors remain in the code and data.  Feel
      7 free to fill gaps or fix mistakes, and please email improvements
      8 to tz (a] iana.org for use in the future.
      9 
     10 To email small changes, please run a POSIX shell command like
     11 'diff -u old/europe new/europe >myfix.patch', and attach
     12 myfix.patch to the email.
     13 
     14 For more-elaborate changes, please read the Theory file and browse
     15 the mailing list archives <http://mm.icann.org/pipermail/tz/> for
     16 examples of patches that tend to work well.  Ideally, additions to
     17 data should contain commentary citing reliable sources as
     18 justification.
     19 
     20 Please submit changes against either the latest release in
     21 <ftp://ftp.iana.org/tz/> or the master branch of the development
     22 repository.  If you use Git the following workflow may be helpful:
     23 
     24   * Copy the development repository.
     25 
     26       git clone https://github.com/eggert/tz.git
     27       cd tz
     28 
     29   * Get current with the master branch.
     30 
     31       git checkout master
     32       git pull
     33 
     34   * Switch to a new branch for the changes.  Choose a different
     35     branch name for each change set.
     36 
     37       git checkout -b mybranch
     38 
     39   * Edit source files.  Include commentary that justifies the
     40     changes by citing reliable sources.
     41 
     42   * Debug the changes, e.g.:
     43 
     44       make check
     45       make install
     46       ./zdump -v America/Los_Angeles
     47 
     48   * For each separable change, commit it in the new branch, e.g.:
     49 
     50       git add northamerica
     51       git commit
     52 
     53     See recent 'git log' output for the commit-message style.
     54 
     55   * Create patch files 0001-*, 0002-*, ...
     56 
     57       git format-patch master
     58 
     59   * After reviewing the patch files, send the patches to tz (a] iana.org
     60     for others to review.
     61 
     62       git send-email master
     63 
     64   * Start anew by getting current with the master branch again
     65     (the second step above).
     66 
     67 Please do not create issues or pull requests on GitHub, as the
     68 proper procedure for proposing and distributing patches is via
     69 email as illustrated above.
     70