]> git.ipfire.org Git - thirdparty/gettext.git/commitdiff
Add support for msgmerge --previous
authorStanislav Brabec <sbrabec@suse.com>
Fri, 1 Jul 2016 18:21:54 +0000 (20:21 +0200)
committerDaiki Ueno <ueno@gnu.org>
Sat, 9 Jul 2016 02:14:35 +0000 (11:14 +0900)
msgmerge --previous is a very useful feature that makes adjusting of
translation much easier when small changes in the source code are done.
msgmerge supports it for 10 years, but it is not used by most projects,
as Makefile.in.in never added support for it.

Use msgmerge --previous as default on all systems with gettext >= 0.16.

NEWS
gettext-runtime/po/Makefile.in.in

diff --git a/NEWS b/NEWS
index bbbf1e35f0e541bfe107d4b2bad5a14d9c427a70..83f12805eb901acaa0d6c69314c240e35db0bff3 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,6 @@
+* Runtime behaviour:
+  - update-po target in Makefile.in.in now uses msgfmt --previous.
+
 Version 0.19.8 - June 2016
 
 * Support for reproducible builds:
index 38c293d2ed2f6e905ccdd4ce532e50fc90e1adf3..44ec103819cea25cc11937a93b4f71fbdde8daef 100644 (file)
@@ -232,13 +232,15 @@ $(POFILES): $(POFILESDEPS)
        if test -f "$(srcdir)/$${lang}.po"; then \
          test -f $(srcdir)/$(DOMAIN).pot || $(MAKE) $(srcdir)/$(DOMAIN).pot; \
          test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
-         echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \
+         echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} --previous $${lang}.po $(DOMAIN).pot"; \
          cd $(srcdir) \
            && { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
-                  '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
+                  '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].*) \
                     $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \
+                  0.1[6-7] | 0.1[6-7].*) \
+                    $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --previous $${lang}.po $(DOMAIN).pot;; \
                   *) \
-                    $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \
+                    $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} --previous $${lang}.po $(DOMAIN).pot;; \
                 esac; \
               }; \
        else \
@@ -439,13 +441,15 @@ update-po: Makefile
        tmpdir=`pwd`; \
        echo "$$lang:"; \
        test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
-       echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
+       echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang --previous $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
        cd $(srcdir); \
        if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
-              '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
+              '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].*) \
                 $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+              0.1[6-7] | 0.1[6-7].*) \
+                $(MSGMERGE) $(MSGMERGE_OPTIONS) --previous -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
               *) \
-                $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+                $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang --previous -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
             esac; \
           }; then \
          if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \