(wrote this up and noticed that much of it duplicates what Nico said – merging 
is easy and branching is not so bad either)

On 11 Dec 2012, at 18:25, Pavel Sanda wrote:

> Nico Williams wrote:
>> It is precisely because locking doesn't scale that we have branching
>> and merging.  Locking simply does not scale.  This is true even of
>> documents (as opposed to source code).

I definitely agree with Nico. Even for a small group, concurrent editing and 
automatic merging is a major productivity boost. For example we are in the 
final stages of finishing a manuscript. More often than I care to admit it's 
late in the evening and we're saying: I'll do the intro, A do the methods, B 
fix the problems in supplemental, C check the figure/table references.

> Conditions I had in mind were:
> a)
> - small team working on e.g. scientific paper
> - avoid endless email exchanges of manuscript (locking exists by definition)

there really isn't a way to lock in git so this is out

> - only subset of people are "IT-aware" while the others are capable at
>  most of "push the red button" to commit the change and unlock the
>  given chapter.
> b)
> - private document where VCS is used just to store history ("just for sure")
> 
> In such world even knowing what "merging" or "branching" means qualifies
I think the idea of merging is pretty obvious – after all you can merge changes 
in Word but it's harder and much more involved/error prone than doing with git.

if you wanted to have bare bones support for git in lyx you would need
* commit (saving your changes)
* push (share your work)
* pull (fetch changes and merge with your work)

After testing out the existing svn implementation I think this is actually 
simpler to automatically merge with git than to lock files with svn.

I admit that branching seems more complex and one could pass on branch handling 
for a basic git in lyx implementation. But branching (and then merging those 
branches) are super easy with git and I have been surprised at the takeup by 
people in my lab who are really not that techie. I used subversion for several 
years and almost never branched (and dealing with merges was nasty). Branch 
(and merge) in git was a revelation.

Incidentally LyX itself already has support for "branches" aka different 
versions of the same document, which is a related idea.

> you as someone who really does not need LyX to manipulate version tracking
> and who will stay happily with specialized software or command line :)

However, I think it is true that there are lots of good external tools for git 
so "git in LyX" would be nice (and it would stop me making the occasional 
mistake of not saving and closing my lyx doc before commiting/pushing/pulling) 
but what would be more important for my workflow is the ability to do merges by 
a functional diff in lyx.

Best,

Greg.

Reply via email to