Gregory Jefferis wrote: > Returning to the original question of merging + VCS, we currently use git + > lyx for collaborative editing of papers in the lab (normally <=3 people) > using git's built in merge. For us this a tremendous improvement over the > emailed word file strategy. We have not managed to break a LyX file with an > inappropriate automated merge. Merge conflicts are obviously possible if 2 > users edit the same piece of text but in our use very rare ? we encourage > frequent push/pull, avoid e.g. fixing spelling errors all across the document > without checking that changes have been committed and pushed. But on the rare > occasions when conflicts do happen they unfortunately a showstopper for most > users. It would indeed be very nice to have the option to merge in LyX when > this happens, when one would typically use git mergetool. However, I do note > that when a merge conflict happens, the file with conflicts left marked by > git's regular merge or what you typically get by using git mergetool to start > a generic merge tool (I use FileMerge on a Mac) is 3 way with ancestry. That > means you only have to worry about the *conflicts* not the compatible changes > in each branch. So in these circumstances firing up a text editor to fix the > conflict might be much quicker (albeit more dangerous) than using LyX to > accept/reject all changes displayed in a 2 way diff. In some sense a strategy > that turned conflict markers into LyX tracked changes (or a 3 way diff) is > really what one is after. > > When I am working with less tech savvy people outside the lab, I usually tell > them to use track changes (and commit their work manually to git). You can > even consider asking people to use track changes when using a VCS if someone > is going to review all changes for integration. Regrettably there is still > the possibility of merge conflict even after the discussion/fix noted here: > > http://www.lyx.org/trac/ticket/6058 > > if two or more people both start tracking changes before merging to master. > > Hope some of this experience might be of use.
We currently use integrated SVN support of LyX for this. The merge conflicts are avoided by locking the whole document or childern (parts of the text). Comparison tool is used merely to watch/check history (integrated with VCS already). If there is need to check changes by the other author, changes are committed in change-tracking mode while the other author accepts those changes. While we are at possible LyX support of git, can you explicitly name the commands used for your workflow? I'm also interested for criteria for commit/push/merge/pull (e.g. do you push immediatelly after commit?) To me, git concepts are unnecessarily complicated and tools like GNU RCS or SVN are better suited for document tracking. Pavel
