[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] git and orgmode: teaching git a bit of orgmode syntax

From: Nick Dokos
Subject: Re: [O] git and orgmode: teaching git a bit of orgmode syntax
Date: Tue, 24 Jan 2017 10:34:09 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux)

Karl Voit <address@hidden> writes:

> Hi!
> I am using gitwatch[1] to auto-commit any changes to my org-mode
> files in a git repository.
> Unfortunately, git does not handle diffs in a meaningful way. For
> example, when there are sub-hierarchies added or removed, it ends up
> with many diff-lines like the following:
> -***** NEXT test with DAVdroid
> +* Lesestoff [1/26]                                        :2read:
> -:CREATED:  [2016-05-08 Sun 12:51]
> +:CREATED: [2012-04-17 Tue 10:39]
> +:ARCHIVE:  %s_archive::* Lesestoff
> +:CATEGORY: reading
>  :END:
> The two headings being compared by git are totally unrelated. Git
> did find a match for the :PROPERTIES: and :END: lines and therefore
> assumed that I modified the level five heading "NEXT test with
> DAVdroid" into the first level heading "Lesestoff", not recognizing
> that in fact, there were many org-mode lines moved to the archive
> file, resulting in many deleted lines instead of modified ones.
> The underlying issue is, to my understanding, that git does not know
> about Org-mode syntax elements. Git does not know that :PROPERTIES:
> and :END: lines should not be used to match similar lines. It does
> not know about headings, identifying CREATED time-stamps, and other
> things.
> I am not familiar with git other than from an end user point of
> view. But I do think that git can be taught here via some kind of
> extension so that meaningful changes are recognized and displayed.
> Is there somebody with the same issue and/or somebody with a better
> understanding how this issue can be addressed?
> Thanks!
> [1] https://github.com/nevik/gitwatch

You can plug in a different diff tool into git. The next problem is to
write/find/conjure a diff tool that *does* understand org syntax (at least
to some extent). IIRC, there was a GSOC(?) project to do that some years ago,
but I don't think it got finished (and maybe I'm misremembering in any case).
If that really exists[fn:1], maybe it can form a starting point for another 

* Footnotes

[fn:1] I'd search, but Gmane still seems non-compos-mentis and
       searching in the archives is just awful (or my fu is too
       weak). Anybody know what is happening with Gmane?  How do you
       search the list nowadays?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]