On my packages I use the Translation Project (http://translationproject.org) and I never commit any .po files to my source code repository at all. Instead, when I want to build my package I simply run a makefile rule that wget's the latest .po files directly from the translationproject.org website, so they're present to be bundled into the source tarball with standard "make dist" etc.
This solves all my problems: translators only get pot files and promote po files to the website; they never have to deal with whatever VCS I happen to be using (or any VCS). I always get the latest translations, any time I want them, without having to do any merging or think at all about pulls or commits or permissions or whatever. About the only advantage I can think of to checking the .po files into the VCS is if it helps you manage multiple parallel lines of development.
One of the annoying things for me, as I look through the VCS history on projects I follow, is how many of them are just commits of translations. Near a release in Gnome, for example, 80+% of commit messages are things like "New French translation" etc.