Hi all, I am trying to get org-attach to work with git-annex, but there is a bug that prevents it working.
org-attach checks if there is an annex directory in the results of (vc-git-root org-attach-directory) in order to decide whether to use git-annex. But the annex directory is a subdir of the .git dir, and vc-git-root returns the path to the directory that contains .git, not the .git path itself, e.g. /foo not /foo/.git I don’t know if the behavior of vc-git-root has changed, but I don’t see anything in the emacs git log for vc/vc-git.el and it seems to have the same behavior in 24 & 25. The following patch fixes this issue. diff --git a/lisp/org-attach.el b/lisp/org-attach.el index 1737ec1..b843d48 100644 --- a/lisp/org-attach.el +++ b/lisp/org-attach.el @@ -276,7 +276,7 @@ the ATTACH_DIR property) their own attachment directory." "Commit changes to git if `org-attach-directory' is properly initialized. This checks for the existence of a \".git\" directory in that directory." (let* ((dir (expand-file-name org-attach-directory)) - (git-dir (vc-git-root dir)) + (git-dir (expand-file-name ".git" (vc-git-root dir))) (changes 0)) (when (and git-dir (executable-find "git")) (with-temp-buffer -- Sent from my free software system <http://fsf.org/>.