From 2c38c3acc0b5d1cb3bb26f45829d711bb6f4009c Mon Sep 17 00:00:00 2001 From: Carsten Dominik Date: Sat, 31 Aug 2013 15:58:12 +0200 Subject: [PATCH] Use vc-git to find the git repository for org-attach * lisp/org-attach.el (org-attach-commit): Use vc-git to find the git repository. Org attach use to fail to commit the attached file in git or git annex when the .git repository is not in the data sub-directory. This new code will use vc-git to find the .git file, and from this do what is needed for committing file into git or git annex. Patch by Remi Vanicat --- lisp/org-attach.el | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lisp/org-attach.el b/lisp/org-attach.el index faefa6b14..9bf3cda50 100644 --- a/lisp/org-attach.el +++ b/lisp/org-attach.el @@ -261,14 +261,15 @@ the ATTACH_DIR property) their own attachment directory." (defun org-attach-commit () "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)) - (changes 0)) - (when (file-exists-p (expand-file-name ".git" dir)) + (let* ((dir (expand-file-name org-attach-directory)) + (git-dir (vc-git-root dir)) + (changes 0)) + (when git-dir (with-temp-buffer (cd dir) (let ((have-annex (and org-attach-git-annex-cutoff - (file-exists-p (expand-file-name ".git/annex" dir))))) + (file-exists-p (expand-file-name "annex" git-dir))))) (dolist (new-or-modified (split-string (shell-command-to-string