From 82d4eff906cf0b88b001cfe2f43f15d8e63f6ca6 Mon Sep 17 00:00:00 2001 From: Marcel de Rooy Date: Wed, 4 Oct 2023 15:04:27 +0200 Subject: [PATCH] Bug 34983: Force a sort order in JSON output of po2json This patch does so by default. If you do not want them sorted, export CANONICAL-0 on the command line. Test plan: Copy a staff PO file from misc/translator to test.po Now run: time misc/translator/po2json test.po > json1 And do: time misc/translator/po2json test.po > json2 Run: diff json1 json2; #They should be the same. Now: export CANONICAL=0 And run: time misc/translator/po2json test.po > json3 And again: time misc/translator/po2json test.po > json4 And run: diff json3 json4; # Lots of changes Remove the created cruft. And signoff :) Signed-off-by: Marcel de Rooy Signed-off-by: David Nind Signed-off-by: Kyle M Hall Signed-off-by: Tomas Cohen Arazi (cherry picked from commit a5fc346403665cf6eb692f401bf1cca5ece3cb81) Signed-off-by: Fridolin Somers --- misc/translator/po2json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/misc/translator/po2json b/misc/translator/po2json index 410bd68c41..a04d85949f 100755 --- a/misc/translator/po2json +++ b/misc/translator/po2json @@ -165,7 +165,7 @@ sub main } - my $jsonobj = JSON->new; + my $jsonobj = JSON->new->canonical( $ENV{CANONICAL} // 1 ); # if you dont want sorted keys, export CANONICAL=0 my $basename = basename($src); $basename =~ s/\.pot?$//; if ($pretty) -- 2.39.2