Allen Bierbaum wrote:
> 
> I frequently write docbook documents colloratively with other authors.
> So that each of us can be working on the document in parallel, we use a
> version control system (CVS to be specific) to manage the document.
> 
> This works great and because Docbook/XML is an ASCII-based format the
> version control system is able to resolve most changes/merges with no
> problem.
> 
> What is a problem though is that with most Docbook editors, changing a
> single word in a paragraph causes a very large "diff" in the file.  This
> makes it difficult to find what exactly changed in the document from
> version to version.
> 
> For example, a single spelling change in a large paragraph could cause
> the entire paragraph to be replaced in the new version.  This can make
> tracing through document histories VERY painful and frustrating.
> 
> As and example take the following document:
> 
> <sect1>
>     <title>Section 1</title>
>     <para>This is the first paragraph of text. CHANGE THIS. There
>     is more text to follow, but this should show the problem fine.
>     If only the save option wrote this paragraph out better.</para>
> </sect1>
> 
> Now imagine that I wanted to change the section of text at "CHANGE
> THIS".  Then it would look like:
> 
> <sect1>
>     <title>Section 1</title>
>     <para>This is the first paragraph of text. Diff. There is more
>     text to follow, but this should show the problem fine. If only
>     the save option wrote this paragraph out better.</para>
> </sect1>
> 
> The problem is that by changing 2 words I have created a file diff for
> every line of the paragraph (because words were shifted to new lines).
> 
> XXE already supports a save option that allows for a max line length,
> but this doesn't really solve the problem.  Although it can help
> minimize it so that only the lines on or after the changed word are
> considered different.
> 
> One "simple" solution may be to add an option to the save options that
> creates new lines at end-of-sentence punctuation marks.  This could
> probably be implemented in the same area that the current max line
> length code is at.
> 
> So, with this option the example would look like:
> 
> <sect1>
>     <title>Section 1</title>
>     <para>This is the first paragraph of text.
>     CHANGE THIS.
>     There is more text to follow, but this should show the problem fine.
>     If only the save option wrote this paragraph out better.
>     </para>
> </sect1>
> 
> This a single change would look like:
> 
> <sect1>
>     <title>Section 1</title>
>     <para>This is the first paragraph of text.
>     Diff.
>     There is more text to follow, but this should show the problem fine.
>     If only the save option wrote this paragraph out better.</para>
> </sect1>

What you have described is really interesting. Something I haven't
imagined at all.

We intend to support repositories through plug-ins before end of year:
WebDAV, parametric HTTP POST, CVS being considered (in that order of
priority).

When implementing the repository plug-in for CVS, we'll probably have to
use your idea or a similar one. In the short term, we are really too
busy to implement it. Sorry.

-- 
Hussein SHAFIE                       hussein at pixware.fr
Pixware                              www.pixware.fr
Immeuble Capricorne, 23 rue Colbert, 78180 Montigny Le Bretonneux,
France
Phone: +33 (0)1 30 60 07 00          Fax: +33 (0)1 30 96 05 23

Reply via email to