On Wednesday 13 May 2009 17:25:53 Gregory Jefferis wrote: > Dear LyX developers (especially John Levon & Lars Gullik Bjønnes I think), > > I have noticed that the when current LyX (1.6.2) reads and writes a > document containing multiple authors for tracked changes it re-orders the > Author List. For example if Andy and Bert are both working on a document, > when Andy saves, he will be author 0. If Bert then loads the file adds > changes of his own and then resaves he will become author 0 and Andy will > become author 1. I think that this resetting has something to do with: > > BufferList::setCurrentAuthor > > Insisting that the current author have id 0. > > This means that diffing lyx files with tracked changes becomes a mess (I > version control most of my lyx documents).
I guess that do it in a proper way would require a file format change, and this implies that such a change could only be allowed at the next stable version (lyx 2.0). With that said I don't see any reason for us not to accept this change. > 2 questions: > > 1) Would it be possible to stop this resorting of the author list from > happening? Perhaps by recording the current author id in the AuthorList > rather than insisting that it must be 0 > > 2) more generally would there be something to be said for using a hash > value (perhaps computed on author name+email) instead of a simple index for > change tracking? That would make it possible to merge two versions of a > document one of which contains changes from Andy and the other from Bert > without having to rewrite all the author ids. If you have a patch implementing this behaviour and after some code revision I expect it to be accepted. I say this because you have reviewed the code and you seemed to have identified the relevant changes. In the case of a file format change this implies to write a plugin for lyx2lyx (python code). It should not be difficult but, if necessary, either me or the others developers will provide the necessary feedback to attain you goal. > Many thanks, > > Greg. -- José Abílio