Port tramp-adb to various 'touch' platforms
* lisp/net/tramp-adb.el (tramp-adb-handle-set-file-times): Try nanoseconds first, then plain seconds, then touch -t.
This commit is contained in:
parent
3d9a56f000
commit
aff0c58506
1 changed files with 14 additions and 3 deletions
|
@ -677,11 +677,22 @@ But handle the case, if the \"test\" command is not available."
|
|||
(tramp-compat-time-equal-p time tramp-time-doesnt-exist)
|
||||
(tramp-compat-time-equal-p time tramp-time-dont-know))
|
||||
(current-time)
|
||||
time)))
|
||||
time))
|
||||
(quoted-name (tramp-shell-quote-argument localname)))
|
||||
;; Older versions of toybox 'touch' mishandle nanoseconds and/or
|
||||
;; trailing "Z", so fall back on plain seconds if nanoseconds+Z
|
||||
;; fails. Also, fall back on old POSIX 'touch -t' if 'touch -d'
|
||||
;; (introduced in POSIX.1-2008) fails.
|
||||
(tramp-adb-send-command-and-check
|
||||
v (format "touch -d %s %s"
|
||||
v (format (concat "touch -d %s %s 2>/dev/null || "
|
||||
"touch -d %s %s 2>/dev/null || "
|
||||
"touch -t %s %s")
|
||||
(format-time-string "%Y-%m-%dT%H:%M:%S.%NZ" time t)
|
||||
quoted-name
|
||||
(format-time-string "%Y-%m-%dT%H:%M:%S" time t)
|
||||
(tramp-shell-quote-argument localname))))))
|
||||
quoted-name
|
||||
(format-time-string "%Y%m%d%H%M.%S" time t)
|
||||
quoted-name)))))
|
||||
|
||||
(defun tramp-adb-handle-copy-file
|
||||
(filename newname &optional ok-if-already-exists keep-date
|
||||
|
|
Loading…
Add table
Reference in a new issue