Subject: Re: bug#4841: 23.1.50; tramp su/sudo makes vc-dir hang (found remote shell ...)

From: Michael Albinus <[email-masked]>
Date: Sat, 07 Nov 2009 14:10:07 +0100

Stefano Zacchiroli <[email-masked]> writes:

> On Tue, Nov 03, 2009 at 10:15:35PM +0100, Michael Albinus wrote:
>> The last command Tramp performs is
>> 
>> cd /etc/; exec git ls-files -z -o --directory --no-empty-directory --exclude-standard --
>> 
>> Nothing returned. Could you, please, run the command as root in a shell,
>> and see what happens? Maybe with and without the "exec" ...
>
> Sure:
>
>   root@usha:/etc# git ls-files -z -o --directory --no-empty-directory --exclude-standard --
>   root@usha:/etc# echo $?
>   0
>   root@usha:/etc# touch a
>   root@usha:/etc# git ls-files -z -o --directory --no-empty-directory --exclude-standard --
>   aroot@usha:/etc# echo foo >> inittab 
>   root@usha:/etc# # note the heading 'a' before the prompt

No problem. The "-z" option let's return a null byte instead of a
newline. Tramp shall be able to handle it, see bug report #3858.

>   root@usha:/etc# exec git ls-files -z -o --directory --no-empty-directory --exclude-standard --
>   zack@usha:~$ echo $?
>   0
>   zack@usha:~$ 
>
> (I'm not sure the last return code is actually faithful, as I haven't
>  verified whether su returns to the caller the exit code of the shell
>  process.)

What I'm curious about is, why your commands are preceeded by
"exec". I've checked Emacs 23.1.50; git commands are executed without
"exec" in Tramp. Maybe you have an outdated vc-git.el in the way?

Could you, please, start "emacs -Q" and see, whether it works better? If
it still doesn't work, set `tramp-verbose' to 10, and show the debug
buffer of Tramp, again.

> Cheers.

Best regards, Michael.