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@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 experimental |
22 |
Git repository. If you use Git the following workflow may be helpful: |
23 |
|
24 |
* Copy the experimental 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@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 |
|
71 |
----- |
72 |
|
73 |
This file is in the public domain. |