This are just some thoughts and notes about merging
Currently (2006-08) we have several implementations of merging code in Pootle and the toolkit that do similar things. pot2po, pomerge, pootlefile.py::mergefile (used with file upload in Pootle), projects.py::updatepofile (used for cvs update)
For pootle issues, see upload_and_download_merging_policy.
(used for file upload)
(used for updating from version control) Three files are involved: the current local file, the original file from VCS and the new file from VCS.
We want to abstract it all to have one code base, where new features can be shared by all users, etc. The merging can be custimised by parameters or a configuration.
DB does this mean you would have a template for general layout and new comments, a reference PO so that we can update it with minimal changes and an update PO?
DB - in most cases no. The header is usually not there for a reason, although we could add headers by default if we can handle all cases of udpating. That way pogrep, pofilter, etc can make use of the header to feed that back into the final header when merged.The following sanity checks are basic things to check in addition to the complex issues described above.