Attachments: Remove dependence on xargs
Patch by David Maus, who writes: > Attached patch for org-attach-commit in org-attach.el removes the > dependency on the xargs command to remove files in the repository that > were deleted in the attachment directory. > > Simply capture output of git ls-files --deleted -z in a temporary > buffer, get the filenames from there via string-split and call git rm > on each single file.
This commit is contained in:
parent
1d4ee49c91
commit
7e476db196
|
@ -1,5 +1,7 @@
|
|||
2010-03-24 Carsten Dominik <carsten.dominik@gmail.com>
|
||||
|
||||
* org-attach.el (org-attach-commit): Remove dependence on xargs.
|
||||
|
||||
* org-latex.el (org-export-latex-fontify): Do not mistake table.el
|
||||
borders for strike-through emphasis.
|
||||
|
||||
|
|
|
@ -241,12 +241,17 @@ 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)))
|
||||
(if (file-exists-p (expand-file-name ".git" dir))
|
||||
(shell-command
|
||||
(concat "(cd " dir "; "
|
||||
" git add .; "
|
||||
" git ls-files --deleted -z | xargs -0 git rm; "
|
||||
" git commit -m 'Synchronized attachments')")))))
|
||||
(when (file-exists-p (expand-file-name ".git" dir))
|
||||
(with-temp-buffer
|
||||
(cd dir)
|
||||
(shell-command "git add .")
|
||||
(shell-command "git ls-files --deleted -z" t)
|
||||
(mapc '(lambda (file)
|
||||
(unless (string= file "")
|
||||
(shell-command
|
||||
(concat "git rm \"" file "\""))))
|
||||
(split-string (buffer-string) ""))
|
||||
(shell-command "git commit -m 'Synchronized attachments'")))))
|
||||
|
||||
(defun org-attach-tag (&optional off)
|
||||
"Turn the autotag on or (if OFF is set) off."
|
||||
|
|
Loading…
Reference in New Issue