Best practice for Documents directory: looking for comments on my current setup

Kelly Clowers kelly.clowers at gmail.com
Tue Apr 21 07:31:57 CEST 2009


On Mon, Apr 20, 2009 at 06:40, Rustom Mody <rustompmody at gmail.com> wrote:
> On Mon, Apr 20, 2009 at 7:02 PM, Chanoch (Ken) Bloom <kbloom at gmail.com>wrote:
>
>> On Mon, 2009-04-20 at 11:59 +0530, Rustom Mody wrote:
>> > On Mon, Apr 20, 2009 at 2:04 AM, Chanoch (Ken) Bloom <kbloom at gmail.com
>> >wrote:
>> >
>> > > On Sun, 2009-04-19 at 16:40 +0200, W. Kaplan wrote:
>> > > > Hi all,
>> > > >
>> > > > I just recently started giving version control systems another go.
>> I'm a
>> > > > humanities grad student and not a programmer, so I assume that my
>> needs
>> > > > are a little different from those for which these tools were written.
>> > > > However, the same applies for managing your whole home directory, so
>> I
>> > > > think this list is a good place to ask for opinions.
>> > >
>> > > Keep in mind that if you have merge conflicts in your office files,
>> > > whether OpenOffice or MS Word, git and other version control systems
>> are
>> > > much less likely to be able to do something sensible about merging
>> them.
>> > > The reason we programmers can make it work is because we use text files
>> > > for everything. (Our source code is text files, our configuration files
>> > > are text files, our scholarly papers are written in LaTeX...).
>> > >
>> >
>> > From Odt article on wikipedia:
>> >
>> > A basic OpenDocument file consists of an
>> > XML<http://en.wikipedia.org/wiki/XML>document that has
>> > <document> as its root element. OpenDocument files can also take the
>> format
>> > of a ZIP <http://en.wikipedia.org/wiki/ZIP_%28file_format%29> compressed
>> > archive containing a number of files and directories; these can contain
>> > binary content and benefit from ZIP's lossless
>> > compression<http://en.wikipedia.org/wiki/Lossless_compression>to
>> > reduce file size. OpenDocument benefits from separation
>> > of concerns <http://en.wikipedia.org/wiki/Separation_of_concerns> by
>> > separating the content, styles, metadata and application settings into
>> four
>> > separate XML files.
>> >
>> > Thanks to this push, good-ol MS has moved (unwillingly?) from doc (for
>> which
>> > your comments above are correct) to docx that is similarly at core xml
>> and
>> > hence text.
>> >
>> > >
>> > > I don't expect any other synchronization system can reconcile these
>> > > files any better though.
>> >
>> >
>> > This true today.  And merging XML is not identical to merging program
>> > sources.  But is much closer to it than arbitrary binry data
>>
>> Though I've uncompressed .odt files myself to get at the XML inside,
>> I've never seen one of these in the wild that wasn't ZIP-compressed, so
>> as far as version control systems are concerned it's still binary data.
>> (I'm not even sure how the format would keep the four separate XML files
>> together if they weren't zip compressed, so maybe the Wikipedia article
>> is wrong or unclear.)
>>
>>  Obviously one would need some kind of plugin (on/in the vcs) that
> tmp-unzips the odt before doing vcs-ish things like merge.
> Presenting the xml-diffs as human readable diffs would likewise need to go
> through an xml-aware diff-er like diffxml

http://git.or.cz/gitwiki/GitTips

In git 1.6.1 or later, try this in .gitconfig:

[diff "odf"]
      textconv=odt2txt

(unoconv might also work)

and in .gitattributes:

*.ods diff=odf
*.odt diff=odf
*.odp diff=odf

Note that I have yet to actually make use of this.


Cheers,
Kelly Clowers


More information about the vcs-home mailing list