Mercurial > hg
comparison Makefile @ 20080:c845b1a95eed
Makefile: intermediate steps work with temporary copy of hg.pot
In case of abortion or a failing step, the target file remains untouched
instead of being in an intermediate state.
author | Simon Heimberg <simohe@besonet.ch> |
---|---|
date | Tue, 05 Nov 2013 09:43:26 +0100 |
parents | 23edc6673f0d |
children | 872f81de2865 |
comparison
equal
deleted
inserted
replaced
20079:d4838302305c | 20080:c845b1a95eed |
---|---|
106 $(PYTHON) i18n/hggettext mercurial/commands.py \ | 106 $(PYTHON) i18n/hggettext mercurial/commands.py \ |
107 hgext/*.py hgext/*/__init__.py \ | 107 hgext/*.py hgext/*/__init__.py \ |
108 mercurial/fileset.py mercurial/revset.py \ | 108 mercurial/fileset.py mercurial/revset.py \ |
109 mercurial/templatefilters.py mercurial/templatekw.py \ | 109 mercurial/templatefilters.py mercurial/templatekw.py \ |
110 mercurial/filemerge.py \ | 110 mercurial/filemerge.py \ |
111 $(DOCFILES) > i18n/hg.pot | 111 $(DOCFILES) > i18n/hg.pot~ |
112 # All strings marked for translation in Mercurial contain | 112 # All strings marked for translation in Mercurial contain |
113 # ASCII characters only. But some files contain string | 113 # ASCII characters only. But some files contain string |
114 # literals like this '\037\213'. xgettext thinks it has to | 114 # literals like this '\037\213'. xgettext thinks it has to |
115 # parse them even though they are not marked for translation. | 115 # parse them even though they are not marked for translation. |
116 # Extracting with an explicit encoding of ISO-8859-1 will make | 116 # Extracting with an explicit encoding of ISO-8859-1 will make |
118 echo $(PYFILES) | xargs \ | 118 echo $(PYFILES) | xargs \ |
119 xgettext --package-name "Mercurial" \ | 119 xgettext --package-name "Mercurial" \ |
120 --msgid-bugs-address "<mercurial-devel@selenic.com>" \ | 120 --msgid-bugs-address "<mercurial-devel@selenic.com>" \ |
121 --copyright-holder "Matt Mackall <mpm@selenic.com> and others" \ | 121 --copyright-holder "Matt Mackall <mpm@selenic.com> and others" \ |
122 --from-code ISO-8859-1 --join --sort-by-file --add-comments=i18n: \ | 122 --from-code ISO-8859-1 --join --sort-by-file --add-comments=i18n: \ |
123 -d hg -p i18n -o hg.pot | 123 -d hg -p i18n -o hg.pot~ |
124 $(PYTHON) i18n/posplit i18n/hg.pot | 124 $(PYTHON) i18n/posplit i18n/hg.pot~ |
125 # The target file is not created before the last step. So it never is in | |
126 # an intermediate state. | |
127 mv -f i18n/hg.pot~ i18n/hg.pot | |
125 | 128 |
126 %.po: i18n/hg.pot | 129 %.po: i18n/hg.pot |
127 # work on a temporary copy for never having a half completed target | 130 # work on a temporary copy for never having a half completed target |
128 cp $@ $@.tmp | 131 cp $@ $@.tmp |
129 msgmerge --no-location --update $@.tmp $^ | 132 msgmerge --no-location --update $@.tmp $^ |