We have two .po files, each from different branches of a piece of software.
We need to combine these into a single .po file.
There are duplicates between the two
I use msgmerge:
msgmerge
msgmerge [old_file.po] [new_file.po] > output.po
It works for me, but be aware that it does a silly merge, it is, it discards the entries in the old_file (new file overwrites old one).