The rsync method hasn't worked for me for quite awhile. I'm currently
using Aquamacs Emacs but tramp/rsync failed with XEmacs as well. I
suspect it has something to do with the network setup at work, but have
no proof of that. The scp and ssh methods both work. Visiting
nonexistent files using rsync works. Traversing deep filesystem paths
also works. In the output appended I successfully visited a nonexistent
file, /tmp/trash, but after entering some text in the buffer, the save
step failed with the message "Login failed". The rsync command on the
remote host is in /opt/app/bin, hence its presence in tramp-remote-path.
Perl is in /usr/bin. The remote system is running Solaris 10, Update 5.
As further evidence that it's somehow related to my network setup at
work, I just popped open an XEmacs session and visited
/[rsync/www.smontanaro.net]/tmp/trash. Both the visit and the save
worked fine.
The rsync on the machine at work is
rsync version 2.6.2 protocol version 28
On my Mac it is
rsync version 2.6.9 protocol version 29
On www.smontanaro.net it is
rsync version 3.0.3 protocol version 30
Any suggestions?
--
Skip Montanaro - [email protected] - http://www.smontanaro.net/
Emacs : GNU Emacs 22.3.2 (i386-apple-darwin9.5.0, Carbon Version 1.6.0)
of 2009-01-11 on plume.sr.unh.edu - Aquamacs Distribution 1.6
Package: tramp (2.0.58-pre)
current state:
==============
(setq
tramp-ls-command nil
tramp-test-groks-nt nil
tramp-file-exists-command nil
tramp-current-multi-method nil
tramp-current-method "rsync"
tramp-current-user nil
tramp-current-host "udesktop116.wacker.trdlnk.com"
tramp-auto-save-directory nil
tramp-default-method "scp"
tramp-rsh-end-of-line "\n"
tramp-default-password-end-of-line "\n"
tramp-remote-path '("/opt/app/bin" "/usr/xpg4/bin" "/bin" "/usr/bin"
"/usr/sbin"
"/usr/local/bin" "/usr/ccs/bin" "/local/bin"
"/local/freeware/bin"
"/local/gnu/bin" "/usr/freeware/bin" "/usr/pkg/bin"
"/usr/contrib/bin")
tramp-login-prompt-regexp ".*ogin\\( .*\\)?: *"
;; variable encoded due to non-printable characters
tramp-password-prompt-regexp (base64-decode-string
"Xi4qXChbcFBdYXNzd29yZFx8cGFzc3BocmFzZVwpLio6AD8gKg==")
tramp-wrong-passwd-regexp "^.*\\(Connection
\\(?:\\(?:clo\\|refu\\)sed\\)\\|Host key verification failed\\.\\|Login
\\(?:[Ii]ncorrect\\)\\|Name or service not known\\|\\(?:Permission
denied\\|Sorry, try again\\)\\.\\).*\\|^.*\\(Received signal [0-9]+\\).*"
tramp-yesno-prompt-regexp "\\(Are you sure you want to continue connecting
(yes/no)\\?\\)\\s-*"
tramp-yn-prompt-regexp "\\(\\(?:Store key in cache\\? (y/\\|Update cached
key\\? (y/n, Return cancels connectio\\)n)\\)\\s-*"
tramp-terminal-prompt-regexp "\\(TERM = (.*)\\|Terminal type\\?
\\[.*\\]\\)\\s-*"
tramp-temp-name-prefix "tramp."
tramp-file-name-structure '("^/\\(\\([a-zA-Z_0-9-]+\\):\\)?\\(\\([^:/
]*\\)@\\)?\\([a-zA-Z0-9_.#-]*\\):\\(.*$\\)" 2 4 5 6)
tramp-file-name-regexp "\\`/[^/:]+:"
tramp-multi-file-name-structure
'("^/\\(\\([a-zA-Z_0-9-]+\\)\\)?\\(\\(:%s\\)+\\)?:\\(.*$\\)" 2 3 -1)
tramp-multi-file-name-hop-structure '("\\([a-zA-Z_0-9-]+\\):\\([^:/
]*\\)@\\([a-zA-Z0-9_.#-]*\\)" 1 2 3)
tramp-multi-methods '("multi" "multiu")
tramp-multi-connection-function-alist '(("telnet" tramp-multi-connect-telnet
"telnet %h%n")
("rsh" tramp-multi-connect-rlogin
"rsh %h -l %u%n")
("remsh" tramp-multi-connect-rlogin
"remsh %h -l %u%n")
("ssh" tramp-multi-connect-rlogin
"ssh %h -l %u%n")
("ssht" tramp-multi-connect-rlogin
"ssh %h -e none -t -t -l %u%n")
("su" tramp-multi-connect-su "su -
%u%n")
("sudo" tramp-multi-connect-su
"sudo -u %u -s -p Password:%n")
)
tramp-methods '(("smb") ("ftp")
("rcp" (tramp-connection-function tramp-open-connection-rsh)
(tramp-login-program "rsh") (tramp-copy-program "rcp")
(tramp-remote-sh "/bin/sh") (tramp-login-args nil)
(tramp-copy-args nil) (tramp-copy-keep-date-arg "-p")
(tramp-password-end-of-line nil))
("scp" (tramp-connection-function tramp-open-connection-rsh)
(tramp-login-program "ssh") (tramp-copy-program "scp")
(tramp-remote-sh "/bin/sh") (tramp-login-args ("-e" "none"))
(tramp-copy-args nil) (tramp-copy-keep-date-arg "-p")
(tramp-password-end-of-line nil))
("scp1" (tramp-connection-function tramp-open-connection-rsh)
(tramp-login-program "ssh") (tramp-copy-program "scp")
(tramp-remote-sh "/bin/sh") (tramp-login-args ("-1" "-e"
"none"))
(tramp-copy-args ("-1")) (tramp-copy-keep-date-arg "-p")
(tramp-password-end-of-line nil))
("scp2" (tramp-connection-function tramp-open-connection-rsh)
(tramp-login-program "ssh") (tramp-copy-program "scp")
(tramp-remote-sh "/bin/sh") (tramp-login-args ("-2" "-e"
"none"))
(tramp-copy-args ("-2")) (tramp-copy-keep-date-arg "-p")
(tramp-password-end-of-line nil))
("scp1_old" (tramp-connection-function
tramp-open-connection-rsh)
(tramp-login-program "ssh1") (tramp-copy-program "scp1")
(tramp-remote-sh "/bin/sh") (tramp-login-args ("-e" "none"))
(tramp-copy-args nil) (tramp-copy-keep-date-arg "-p")
(tramp-password-end-of-line nil))
("scp2_old" (tramp-connection-function
tramp-open-connection-rsh)
(tramp-login-program "ssh2") (tramp-copy-program "scp2")
(tramp-remote-sh "/bin/sh") (tramp-login-args ("-e" "none"))
(tramp-copy-args nil) (tramp-copy-keep-date-arg "-p")
(tramp-password-end-of-line nil))
("rsync" (tramp-connection-function tramp-open-connection-rsh)
(tramp-login-program "ssh") (tramp-copy-program "rsync")
(tramp-remote-sh "/bin/sh") (tramp-login-args ("-e" "none"))
(tramp-copy-args ("-e" "ssh")) (tramp-copy-keep-date-arg "-t")
(tramp-password-end-of-line nil))
("remcp" (tramp-connection-function tramp-open-connection-rsh)
(tramp-login-program "remsh") (tramp-copy-program "rcp")
(tramp-remote-sh "/bin/sh") (tramp-login-args nil)
(tramp-copy-args nil) (tramp-copy-keep-date-arg "-p")
(tramp-password-end-of-line nil))
("rsh" (tramp-connection-function tramp-open-connection-rsh)
(tramp-login-program "rsh") (tramp-copy-program nil)
(tramp-remote-sh "/bin/sh") (tramp-login-args nil)
(tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line nil))
("ssh" (tramp-connection-function tramp-open-connection-rsh)
(tramp-login-program "ssh") (tramp-copy-program nil)
(tramp-remote-sh "/bin/sh") (tramp-login-args ("-e" "none"))
(tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line nil))
("ssh1" (tramp-connection-function tramp-open-connection-rsh)
(tramp-login-program "ssh") (tramp-copy-program nil)
(tramp-remote-sh "/bin/sh") (tramp-login-args ("-1" "-e"
"none"))
(tramp-copy-args ("-1")) (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line nil))
("ssh2" (tramp-connection-function tramp-open-connection-rsh)
(tramp-login-program "ssh") (tramp-copy-program nil)
(tramp-remote-sh "/bin/sh") (tramp-login-args ("-2" "-e"
"none"))
(tramp-copy-args ("-2")) (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line nil))
("ssh1_old" (tramp-connection-function
tramp-open-connection-rsh)
(tramp-login-program "ssh1") (tramp-copy-program nil)
(tramp-remote-sh "/bin/sh") (tramp-login-args ("-e" "none"))
(tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line nil))
("ssh2_old" (tramp-connection-function
tramp-open-connection-rsh)
(tramp-login-program "ssh2") (tramp-copy-program nil)
(tramp-remote-sh "/bin/sh") (tramp-login-args ("-e" "none"))
(tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line nil))
("remsh" (tramp-connection-function tramp-open-connection-rsh)
(tramp-login-program "remsh") (tramp-copy-program nil)
(tramp-remote-sh "/bin/sh") (tramp-login-args nil)
(tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line nil))
("telnet" (tramp-connection-function
tramp-open-connection-telnet)
(tramp-login-program "telnet") (tramp-copy-program nil)
(tramp-remote-sh "/bin/sh") (tramp-login-args nil)
(tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line nil))
("su" (tramp-connection-function tramp-open-connection-su)
(tramp-login-program "su") (tramp-copy-program nil)
(tramp-remote-sh "/bin/sh") (tramp-login-args ("-" "%u"))
(tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line nil))
("sudo" (tramp-connection-function tramp-open-connection-su)
(tramp-login-program "sudo") (tramp-copy-program nil)
(tramp-remote-sh "/bin/sh")
(tramp-login-args ("-u" "%u" "-s" "-p" "Password:"))
(tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line nil))
("multi" (tramp-connection-function
tramp-open-connection-multi)
(tramp-login-program nil) (tramp-copy-program nil)
(tramp-remote-sh "/bin/sh") (tramp-login-args nil)
(tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line nil))
("scpc" (tramp-connection-function tramp-open-connection-rsh)
(tramp-login-program "ssh") (tramp-copy-program "scp")
(tramp-remote-sh "/bin/sh")
(tramp-login-args
("-o" "controlpath=%t....@%%h:%%p" "-o" "ControlMaster=yes"
"-e"
"none")
)
(tramp-copy-args
("-o" "controlpath=%t....@%%h:%%p" "-o"
"ControlMaster=auto"))
(tramp-copy-keep-date-arg "-p") (tramp-password-end-of-line
nil))
("scpx" (tramp-connection-function tramp-open-connection-rsh)
(tramp-login-program "ssh") (tramp-copy-program "scp")
(tramp-remote-sh "/bin/sh")
(tramp-login-args ("-e" "none" "-t" "-t" "/bin/sh"))
(tramp-copy-args nil) (tramp-copy-keep-date-arg "-p")
(tramp-password-end-of-line nil))
("sshx" (tramp-connection-function tramp-open-connection-rsh)
(tramp-login-program "ssh") (tramp-copy-program nil)
(tramp-remote-sh "/bin/sh")
(tramp-login-args ("-e" "none" "-t" "-t" "/bin/sh"))
(tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line nil))
("krlogin" (tramp-connection-function
tramp-open-connection-rsh)
(tramp-login-program "krlogin") (tramp-copy-program nil)
(tramp-remote-sh "/bin/sh") (tramp-login-args ("-x"))
(tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line nil))
("plink" (tramp-connection-function tramp-open-connection-rsh)
(tramp-login-program "plink") (tramp-copy-program nil)
(tramp-remote-sh "/bin/sh") (tramp-login-args ("-ssh"))
(tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line "xy"))
("plink1" (tramp-connection-function tramp-open-connection-rsh)
(tramp-login-program "plink") (tramp-copy-program nil)
(tramp-remote-sh "/bin/sh") (tramp-login-args ("-1" "-ssh"))
(tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line "xy"))
("pscp" (tramp-connection-function tramp-open-connection-rsh)
(tramp-login-program "plink") (tramp-copy-program "pscp")
(tramp-remote-sh "/bin/sh") (tramp-login-args ("-ssh"))
(tramp-copy-args nil) (tramp-copy-keep-date-arg "-p")
(tramp-password-end-of-line "xy"))
("fcp" (tramp-connection-function tramp-open-connection-rsh)
(tramp-login-program "fsh") (tramp-copy-program "fcp")
(tramp-remote-sh "/bin/sh -i") (tramp-login-args ("sh" "-i"))
(tramp-copy-args nil) (tramp-copy-keep-date-arg "-p")
(tramp-password-end-of-line nil))
)
tramp-end-of-output "///865a72de6d796159175cf0328a0f925c"
tramp-coding-commands '(("mimencode -b" "mimencode -u -b" base64-encode-region
base64-decode-region)
("mmencode -b" "mmencode -u -b" base64-encode-region
base64-decode-region)
("recode data..base64" "recode base64..data"
base64-encode-region base64-decode-region)
("uuencode xxx" "uudecode -o /dev/stdout"
tramp-uuencode-region uudecode-decode-region)
("uuencode xxx" "uudecode -o -" tramp-uuencode-region
uudecode-decode-region)
("uuencode xxx" "uudecode -p" tramp-uuencode-region
uudecode-decode-region)
("uuencode xxx" "tramp_uudecode" tramp-uuencode-region
uudecode-decode-region)
("tramp_encode_with_module" "tramp_decode_with_module"
base64-encode-region base64-decode-region)
("tramp_encode" "tramp_decode" base64-encode-region
base64-decode-region)
)
tramp-actions-before-shell '((tramp-password-prompt-regexp
tramp-action-password)
(tramp-login-prompt-regexp tramp-action-login)
(shell-prompt-pattern tramp-action-succeed)
(tramp-shell-prompt-pattern tramp-action-succeed)
(tramp-wrong-passwd-regexp
tramp-action-permission-denied)
(tramp-yesno-prompt-regexp tramp-action-yesno)
(tramp-yn-prompt-regexp tramp-action-yn)
(tramp-terminal-prompt-regexp
tramp-action-terminal)
(tramp-process-alive-regexp
tramp-action-process-alive))
tramp-actions-copy-out-of-band '((tramp-password-prompt-regexp
tramp-action-password)
(tramp-wrong-passwd-regexp
tramp-action-permission-denied)
(tramp-copy-failed-regexp
tramp-action-copy-failed)
(tramp-process-alive-regexp
tramp-action-out-of-band))
tramp-multi-actions '((tramp-password-prompt-regexp
tramp-multi-action-password)
(tramp-login-prompt-regexp tramp-multi-action-login)
(shell-prompt-pattern tramp-multi-action-succeed)
(tramp-shell-prompt-pattern tramp-multi-action-succeed)
(tramp-wrong-passwd-regexp
tramp-multi-action-permission-denied)
(tramp-process-alive-regexp
tramp-multi-action-process-alive))
tramp-terminal-type "dumb"
;; variable encoded due to non-printable characters
tramp-shell-prompt-pattern (base64-decode-string
"XlteIyQlPgpdKlsjJCU+XSAqXCgbXFtbMC05O10qW2EtekEtWl0gKlwpKg==")
tramp-chunksize nil
tramp-backup-directory-alist nil
shell-prompt-pattern "^[^#$%>\n]*[#$%>] *"
backup-by-copying nil
backup-by-copying-when-linked nil
backup-by-copying-when-mismatch nil
backup-by-copying-when-privileged-mismatch 200
backup-directory-alist nil
file-name-handler-alist
'(("\\.Z\\(~\\|\\.~[0-9]+~\\)?\\'\\|\\.bz2\\(~\\|\\.~[0-9]+~\\)?\\'\\|\\.tbz\\'\\|\\.tgz\\'\\|\\.g?z\\(~\\|\\.~[0-9]+~\\)?\\'\\|\\.dz\\'"
. jka-compr-handler)
("^/$\\|^/[^/:][^/]*$" .
tramp-completion-file-name-handler)
("\\`/[^/:]+:" . tramp-file-name-handler)
("\\`/:" . file-name-non-special))
)
$ unset HISTORY
% $ unset correct
% $ unset autocorrect
% $ exec env 'ENV=' 'PROMPT_COMMAND=' 'PS1=$ ' /bin/sh
$ $ $ stty -inlcr -echo kill '^U'
$ $ echo foo
foo
$ $ TERM=dumb; export TERM
$ $ (uname -sr) 2>/dev/null
SunOS 5.10
$ $ echo foo ; echo bar
foo
bar
$ $ HISTFILE=$HOME/.tramp_history; HISTSIZE=1; export HISTFILE; export HISTSIZE
$ $ set +o vi +o emacs
$ $ unset MAIL MAILCHECK MAILPATH 1>/dev/null 2>/dev/null
$ $ unset CDPATH
$ $ PROMPT_COMMAND=''
$ $ PS2=''
$ $ PS3=''
$ $ PS1='
///865a72de6d796159175cf0328a0f925c
'
$ echo ~root
~root
$ while read d; do if test -x $d/bash -a -f $d/bash; then echo tramp_executable
$d/bash; break; fi; done <<'EOF'
$ /opt/app/bin
$ /usr/xpg4/bin
$ /bin
$ /usr/bin
$ /usr/sbin
$ /usr/local/bin
$ /usr/ccs/bin
$ /local/bin
$ /local/freeware/bin
$ /local/gnu/bin
$ /usr/freeware/bin
$ /usr/pkg/bin
$ /usr/contrib/bin
$ EOF
tramp_executable /bin/bash
# Starting remote shell `/bin/bash -norc -noprofile' for tilde expansion...
$ PROMPT_COMMAND='' PS1='$ ' exec /bin/bash -norc -noprofile
$ $ test -e / 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ test -e /\ this\ file\ does\ not\ exist\ 2>/dev/null; echo tramp_exit_status
$?
tramp_exit_status 1
$ test -x /opt/app/bin/ls 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -x /usr/xpg4/bin/ls 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ /usr/xpg4/bin/ls -lnd / >/dev/null 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
# Using remote command `/usr/xpg4/bin/ls' for getting directory listings
$ tramp_set_exit_status () {
return $1
}
$ test -e /opt/app/bin 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ ( test -d /opt/app/bin 2>/dev/null; echo tramp_exit_status $? )
tramp_exit_status 0
$ test -e /usr/xpg4/bin 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ ( test -d /usr/xpg4/bin 2>/dev/null; echo tramp_exit_status $? )
tramp_exit_status 0
$ test -e /bin 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ ( test -d /bin 2>/dev/null; echo tramp_exit_status $? )
tramp_exit_status 0
$ test -e /usr/bin 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ ( test -d /usr/bin 2>/dev/null; echo tramp_exit_status $? )
tramp_exit_status 0
$ test -e /usr/sbin 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ ( test -d /usr/sbin 2>/dev/null; echo tramp_exit_status $? )
tramp_exit_status 0
$ test -e /usr/local/bin 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ ( test -d /usr/local/bin 2>/dev/null; echo tramp_exit_status $? )
tramp_exit_status 0
$ test -e /usr/ccs/bin 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ ( test -d /usr/ccs/bin 2>/dev/null; echo tramp_exit_status $? )
tramp_exit_status 0
$ test -e /local/bin 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /local/freeware/bin 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /local/gnu/bin 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /usr/freeware/bin 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /usr/pkg/bin 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /usr/contrib/bin 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$
PATH=/opt/app/bin:/usr/xpg4/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/ccs/bin;
export PATH
$ LC_TIME=C; export LC_TIME; echo huhu
huhu
$ mesg n; echo huhu
huhu
$ biff n ; echo huhu
bash: biff: command not found
huhu
$ unalias ls; echo huhu
bash: unalias: ls: not found
huhu
$ ( test / -nt / )
$ tramp_test_nt () {
test -n "`find $1 -prune -newer $2 -print`"
}
$ tramp_uudecode () {
(echo begin 600 /tmp/tramp.$$; tail +2) | uudecode
cat /tmp/tramp.$$
rm -f /tmp/tramp.$$
}
$ while read d; do if test -x $d/perl5 -a -f $d/perl5; then echo
tramp_executable $d/perl5; break; fi; done <<'EOF'
$ /opt/app/bin
$ /usr/xpg4/bin
$ /bin
$ /usr/bin
$ /usr/sbin
$ /usr/local/bin
$ /usr/ccs/bin
$ /local/bin
$ /local/freeware/bin
$ /local/gnu/bin
$ /usr/freeware/bin
$ /usr/pkg/bin
$ /usr/contrib/bin
$ EOF
$ while read d; do if test -x $d/perl -a -f $d/perl; then echo tramp_executable
$d/perl; break; fi; done <<'EOF'
$ /opt/app/bin
$ /usr/xpg4/bin
$ /bin
$ /usr/bin
$ /usr/sbin
$ /usr/local/bin
$ /usr/ccs/bin
$ /local/bin
$ /local/freeware/bin
$ /local/gnu/bin
$ /usr/freeware/bin
$ /usr/pkg/bin
$ /usr/contrib/bin
$ EOF
tramp_executable /bin/perl
$ while read d; do if test -x $d/ln -a -f $d/ln; then echo tramp_executable
$d/ln; break; fi; done <<'EOF'
$ /opt/app/bin
$ /usr/xpg4/bin
$ /bin
$ /usr/bin
$ /usr/sbin
$ /usr/local/bin
$ /usr/ccs/bin
$ /local/bin
$ /local/freeware/bin
$ /local/gnu/bin
$ /usr/freeware/bin
$ /usr/pkg/bin
$ /usr/contrib/bin
$ EOF
tramp_executable /usr/xpg4/bin/ln
$ id -u; id -g
859
30007
$ ( test -d /tmp/trash 2>/dev/null; echo tramp_exit_status $? )
tramp_exit_status 1
$ test -e /tmp 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
# Sending the Perl script `tramp_file_attributes'...
$ tramp_file_attributes () {
/bin/perl -e '@stat = lstat($ARGV[0]);
if (($stat[2] & 0170000) == 0120000)
{
$type = readlink($ARGV[0]);
$type = "\"$type\"";
}
elsif (($stat[2] & 0170000) == 040000)
{
$type = "t";
}
else
{
$type = "nil"
};
$uid = ($ARGV[1] eq "integer") ? $stat[4] : "\"" . getpwuid($stat[4]) . "\"";
$gid = ($ARGV[1] eq "integer") ? $stat[5] : "\"" . getgrgid($stat[5]) . "\"";
printf(
"(%s %u %s %s (%u %u) (%u %u) (%u %u) %u %u t (%u . %u) -1)\n",
$type,
$stat[3],
$uid,
$gid,
$stat[8] >> 16 & 0xffff,
$stat[8] & 0xffff,
$stat[9] >> 16 & 0xffff,
$stat[9] & 0xffff,
$stat[10] >> 16 & 0xffff,
$stat[10] & 0xffff,
$stat[7],
$stat[2],
$stat[1] >> 16 & 0xffff,
$stat[1] & 0xffff
);' "$1" "$2" "$3" 2>/dev/null
}
tramp_exit_status 0
# Sending the Perl script `tramp_file_attributes'...done.
$ tramp_file_attributes /tmp integer
(t 15 0 3 (18856 56866) (18857 22379) (18857 22379) 2105 17407 t (61493 .
57428) -1)
$ test -e /tmp/trash 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ tramp_file_attributes /tmp integer
(t 15 0 3 (18856 56866) (18857 22379) (18857 22379) 2105 17407 t (61493 .
57428) -1)
$ test -e /tmp/trash 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/RCS/trash\,v 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash\,v 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/RCS/trash 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -r /tmp/CVS/Entries 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -r /tmp/.svn/entries 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/SCCS/s.trash 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/s.trash 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash/.bzr/checkout/format 2>/dev/null; echo tramp_exit_status
$?
tramp_exit_status 1
$ test -e /tmp/ 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ tramp_file_attributes /tmp/ integer
(t 15 0 3 (18856 56866) (18857 22379) (18857 22379) 2105 17407 t (61493 .
57428) -1)
$ test -e /tmp/.bzr/checkout/format 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e / 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ tramp_file_attributes / integer
(t 38 0 0 (18856 65385) (18836 29104) (18836 29104) 1024 16877 t (0 . 2) -1)
$ test -e /.bzr/checkout/format 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash/.git 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/ 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ tramp_file_attributes /tmp/ integer
(t 15 0 3 (18856 56866) (18857 22379) (18857 22379) 2105 17407 t (61493 .
57428) -1)
$ test -e /tmp/.git 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e / 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ tramp_file_attributes / integer
(t 38 0 0 (18856 65385) (18836 29104) (18836 29104) 1024 16877 t (0 . 2) -1)
$ test -e /.git 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash/.hg 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/ 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ tramp_file_attributes /tmp/ integer
(t 15 0 3 (18856 56866) (18857 22379) (18857 22379) 2105 17407 t (61493 .
57428) -1)
$ test -e /tmp/.hg 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e / 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ tramp_file_attributes / integer
(t 38 0 0 (18856 65385) (18836 29104) (18836 29104) 1024 16877 t (0 . 2) -1)
$ test -e /.hg 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash/_MTN/format 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/ 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ tramp_file_attributes /tmp/ integer
(t 15 0 3 (18856 56866) (18857 22379) (18857 22379) 2105 17407 t (61493 .
57428) -1)
$ test -e /tmp/_MTN/format 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e / 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ tramp_file_attributes / integer
(t 38 0 0 (18856 65385) (18836 29104) (18836 29104) 1024 16877 t (0 . 2) -1)
$ test -e /_MTN/format 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash/\{arch\}/\=tagging-method 2>/dev/null; echo
tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/ 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ tramp_file_attributes /tmp/ integer
(t 15 0 3 (18856 56866) (18857 22379) (18857 22379) 2105 17407 t (61493 .
57428) -1)
$ test -e /tmp/\{arch\}/\=tagging-method 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e / 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ tramp_file_attributes / integer
(t 38 0 0 (18856 65385) (18836 29104) (18836 29104) 1024 16877 t (0 . 2) -1)
$ test -e /\{arch\}/\=tagging-method 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash/MCVS/CVS 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/ 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ tramp_file_attributes /tmp/ integer
(t 15 0 3 (18856 56866) (18857 22379) (18857 22379) 2105 17407 t (61493 .
57428) -1)
$ test -e /tmp/MCVS/CVS 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e / 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ tramp_file_attributes / integer
(t 38 0 0 (18856 65385) (18836 29104) (18836 29104) 1024 16877 t (0 . 2) -1)
$ test -e /MCVS/CVS 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -d /tmp/ 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ test -w /tmp/ 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ test -e /tmp/trash 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/RCS/trash\,v 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash\,v 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/RCS/trash 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -r /tmp/CVS/Entries 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -r /tmp/.svn/entries 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/SCCS/s.trash 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/s.trash 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash/.bzr/checkout/format 2>/dev/null; echo tramp_exit_status
$?
tramp_exit_status 1
$ test -e /tmp/ 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ tramp_file_attributes /tmp/ integer
(t 15 0 3 (18856 56866) (18857 22379) (18857 22379) 2105 17407 t (61493 .
57428) -1)
$ test -e /tmp/.bzr/checkout/format 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e / 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ tramp_file_attributes / integer
(t 38 0 0 (18856 65385) (18836 29104) (18836 29104) 1024 16877 t (0 . 2) -1)
$ test -e /.bzr/checkout/format 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash/.git 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/ 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ tramp_file_attributes /tmp/ integer
(t 15 0 3 (18856 56866) (18857 22379) (18857 22379) 2105 17407 t (61493 .
57428) -1)
$ test -e /tmp/.git 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e / 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ tramp_file_attributes / integer
(t 38 0 0 (18856 65385) (18836 29104) (18836 29104) 1024 16877 t (0 . 2) -1)
$ test -e /.git 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash/.hg 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/ 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ tramp_file_attributes /tmp/ integer
(t 15 0 3 (18856 56866) (18857 22379) (18857 22379) 2105 17407 t (61493 .
57428) -1)
$ test -e /tmp/.hg 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e / 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ tramp_file_attributes / integer
(t 38 0 0 (18856 65385) (18836 29104) (18836 29104) 1024 16877 t (0 . 2) -1)
$ test -e /.hg 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash/_MTN/format 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/ 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ tramp_file_attributes /tmp/ integer
(t 15 0 3 (18856 56866) (18857 22379) (18857 22379) 2105 17407 t (61493 .
57428) -1)
$ test -e /tmp/_MTN/format 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e / 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ tramp_file_attributes / integer
(t 38 0 0 (18856 65385) (18836 29104) (18836 29104) 1024 16877 t (0 . 2) -1)
$ test -e /_MTN/format 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash/\{arch\}/\=tagging-method 2>/dev/null; echo
tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/ 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ tramp_file_attributes /tmp/ integer
(t 15 0 3 (18856 56866) (18857 22379) (18857 22379) 2105 17407 t (61493 .
57428) -1)
$ test -e /tmp/\{arch\}/\=tagging-method 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e / 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ tramp_file_attributes / integer
(t 38 0 0 (18856 65385) (18836 29104) (18836 29104) 1024 16877 t (0 . 2) -1)
$ test -e /\{arch\}/\=tagging-method 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash/MCVS/CVS 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/ 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ tramp_file_attributes /tmp/ integer
(t 15 0 3 (18856 56866) (18857 22379) (18857 22379) 2105 17407 t (61493 .
57428) -1)
$ test -e /tmp/MCVS/CVS 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e / 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ tramp_file_attributes / integer
(t 38 0 0 (18856 65385) (18836 29104) (18836 29104) 1024 16877 t (0 . 2) -1)
$ test -e /MCVS/CVS 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -d /tmp/ 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ test -w /tmp/ 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ test -e /tmp/trash 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /tmp/trash 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ ( test -d /tmp/trash 2>/dev/null; echo tramp_exit_status $? )
tramp_exit_status 1
$ test -d /tmp/ 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ test -r /tmp/ 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ test -x /tmp/ 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
tramp_exit_status 0
_______________________________________________
Tramp-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/tramp-devel