[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 1ce4381 10/39: Allow reproducing "cp --backup=numbered fro
From: |
Thierry Volpiatto |
Subject: |
[elpa] master 1ce4381 10/39: Allow reproducing "cp --backup=numbered from to". |
Date: |
Wed, 18 May 2016 18:02:51 +0000 (UTC) |
branch: master
commit 1ce438174ab0dd1f101709b76a9febe80fdcfaa8
Author: Thierry Volpiatto <address@hidden>
Commit: Thierry Volpiatto <address@hidden>
Allow reproducing "cp --backup=numbered from to".
* dired-async.el (dired-async-create-files):
When using a file-creator named 'backup-file, files are
copied to destination without overwriting existing files,
making a versionned copy of original files.
---
dired-async.el | 20 +++++++++++++++++---
1 file changed, 17 insertions(+), 3 deletions(-)
diff --git a/dired-async.el b/dired-async.el
index ecab9cb..461e1dd 100644
--- a/dired-async.el
+++ b/dired-async.el
@@ -166,7 +166,8 @@ See `dired-create-files' for the behavior of arguments."
(downcase operation) from)))
(if (not to)
(setq skipped (cons (dired-make-relative from) skipped))
- (let* ((overwrite (file-exists-p to))
+ (let* ((overwrite (and (null (eq file-creator 'backup-file))
+ (file-exists-p to)))
(dired-overwrite-confirmed ; for dired-handle-overwrite
(and overwrite
(let ((help-form '(format "\
@@ -255,8 +256,21 @@ ESC or `q' to not overwrite any of the remaining files,
,(async-inject-variables
dired-async-env-variables-regexp)
(condition-case err
(let ((dired-recursive-copies (quote always)))
- (cl-loop for (f . d) in (quote ,async-fn-list)
- do (funcall (quote ,file-creator) f d t)))
+ (defalias 'backup-file
+ ;; Same feature as "cp --backup=numbered from
to"
+ (lambda (from to ok)
+ (when (null (nth 0 (file-attributes from)))
+ (let ((count 0))
+ (while (let ((attrs (file-attributes
to)))
+ (and attrs
+ (null (nth 0
(file-attributes to)))))
+ (cl-incf count)
+ (setq to (concat
(file-name-sans-versions to)
+ (format ".~%s~"
count)))))
+ (copy-file from to ok
dired-copy-preserve-time))))
+ (cl-loop with fn = (quote ,file-creator)
+ for (from . dest) in (quote
,async-fn-list)
+ do (funcall fn from dest t)))
(file-error
(with-temp-file ,dired-async-log-file
(insert (format "%S" err)))))
- [elpa] master updated (4c77f20 -> 8632abd), Thierry Volpiatto, 2016/05/18
- [elpa] master 568ad03 01/39: Parse also `package-alist` when getting dependencies (#58)., Thierry Volpiatto, 2016/05/18
- [elpa] master 22de0f5 05/39: Remove autoload file added by error., Thierry Volpiatto, 2016/05/18
- [elpa] master 6872743 09/39: Merge pull request #61 from spwhitton/apt-get, Thierry Volpiatto, 2016/05/18
- [elpa] master 66545d8 08/39: Debian and Ubuntu installation instructions, Thierry Volpiatto, 2016/05/18
- [elpa] master b1b4569 06/39: fix a typo, Thierry Volpiatto, 2016/05/18
- [elpa] master 0a773f2 16/39: Ensure dired-async--modeline-mode is called., Thierry Volpiatto, 2016/05/18
- [elpa] master 858a3f9 13/39: Fix backup fn, DRY and ignore symlinks directories., Thierry Volpiatto, 2016/05/18
- [elpa] master 1ce4381 10/39: Allow reproducing "cp --backup=numbered from to".,
Thierry Volpiatto <=
- [elpa] master 2bfd6a0 15/39: Ensure dired-copy-preserve-time is passed to child with its current value., Thierry Volpiatto, 2016/05/18
- [elpa] master 4f6b98d 24/39: Fix operation arg of callback., Thierry Volpiatto, 2016/05/18
- [elpa] master a7e8cf3 30/39: When failures have been printed to dired log add the date at bob., Thierry Volpiatto, 2016/05/18
- [elpa] master dc63e41 27/39: Revert last commit., Thierry Volpiatto, 2016/05/18
- [elpa] master c9ddbbc 11/39: Merge pull request #62 from jwiegley/backup_files, Thierry Volpiatto, 2016/05/18
- [elpa] master ed05631 03/39: Assign copyrights to the FSF, add autoloads file, Thierry Volpiatto, 2016/05/18
- [elpa] master e35506f 18/39: Remove unuseful code never called., Thierry Volpiatto, 2016/05/18
- [elpa] master af8933d 20/39: Unquote all callbacks., Thierry Volpiatto, 2016/05/18
- [elpa] master a48e509 28/39: Ensure a new line is added when printing to dired log buffer., Thierry Volpiatto, 2016/05/18
- [elpa] master 4d6efb9 25/39: Handle error also on host when async-list of file is empty., Thierry Volpiatto, 2016/05/18