Juan Manuel Macías <maciasch...@posteo.net> writes: > The default value of `org-attach-id-dir' is "data/", and if I evaluate > `(expand-file-name org-attach-id-dir)' on my current node, it returns a > wrong path to the attached folder. `org-attach-sync' only works for me > if I set in `org-attach-git-commit' the variable like this:
Does it mean that your attachment folder is set in :DIR: property? > #+begin_src emacs-lisp > ;; ... > (let* ((dir (expand-file-name org-attach-id-dir)) > ;; ... > #+end_src I suspect that it is a leftover from the major changes in org-attach when :DIR: property was introduced. The org-attach-git presumes that all the attachments in current file are stored in sub-directories located inside org-attach-id-dir, which is no longer guaranteed. In fact, the existing approach to treat all the attachments to all headings in current file as files in a single git repo cannot be used. I can see two possible fixes: 1. Treat each attachment dir as individual git repo (breaking change for those who are using :ID: property to build the attachment dirs) 2. Treat attachment dirs defined by :DIR: property individually and leave the :ID:-defined attachments as they were treated before (inconsistent). I am in favour of the first approach since I do not like the idea of keeping all the attachments in the whole file in a single git repo. I think feedback from other is needed to decide what we need to do here. P.S. Marking this as a bug. Best, Ihor