Hmmm...  your point about the remote login is curious. I assumed that
fossil was doing something like this (I'm using faux code here):

inport, outport = popen2("ssh", "-e", "none", "user@host", "fossil", ... )

but it sounds like what is actually being done is (I have not grokked the
code well enough to confirm yet) the following:

inport, outport = popen2("ssh", "-e", "none", "user@host", "/bin/sh")
...
print outport "fossil ... params"

and the hypothesis is that svn and hg use the first approach which bypasses
whatever the issue is with tcsh?

Aside, I read the man page but don't understand why "/bin/sh" is in the
call to execl twice. The second call seems to be running zCmd as a comand.
Is this to deal with shell escaping hell?

execl("/bin/sh", "/bin/sh", "-c", zCmd, (char*)0);


On Wed, Feb 6, 2013 at 10:56 AM, j. van den hoff
<veedeeh...@googlemail.com>wrote:

> On Wed, 06 Feb 2013 18:48:01 +0100, Matt Welland <estifo...@gmail.com>
> wrote:
>
>  Using ssh for transport still doesn't work if a users login shell is tcsh.
>> I'm looking for help on this problem as I've not yet found a solution.
>>
>> If anyone can confirm that the problem exists or if anyone has
>>
>
> yes, I can confirm this (ssh transport not working with `tcsh'), both,
> under Ubuntu and MacOSX. matter of taste whether this is a `fossil' problem
> or a `tcsh' problem. I believe it has to do whith the fact that fossil
> actually is doing a remote login (not just executing a command via ssh as
> `svn' and `hg' are doing
> if I understand correctly). maybe with a little help from the developers
> the problem could be narrowed down somewhat and then brought to the
> attention of the tcsh maintainers?
>
>
>  suggestions
>> or insights as to what the problem might be it'd be much appreciated.
>>
>> To reproduce on Ubuntu just do the following:
>>
>> 1. Test ssh. The following command should complete without prompting for a
>> password (you may get the authentication popup just once):
>>
>> ssh localhost ls
>>
>> 2. Test with bash (this assumes your default shell is /bin/bash which on
>> 99% of sane Linux systems it is. This command would clone ~/foo.fossil to
>> ~/new.fossil
>>
>> fossil set ssh-command 'ssh -e none'
>> fossil clone ssh://$USER@localhost//home/$**
>> USER/foo.fossil?fossil=/home/$**USER/bin/fossil
>> new.fossil
>>
>> 3. Test with tcsh
>>
>> sudo apt-get install tcsh
>> chsh -s /bin/tcsh
>> # Repeat the clone above after removing new.fossil
>>
>> The clone in step three will succeed some of the time but fail most of the
>> time (it hangs).
>>
>> Thanks in advance.
>>
>
>
> --
> Using Opera's revolutionary email client: http://www.opera.com/mail/
> ______________________________**_________________
> fossil-users mailing list
> fossil-users@lists.fossil-scm.**org <fossil-users@lists.fossil-scm.org>
> http://lists.fossil-scm.org:**8080/cgi-bin/mailman/listinfo/**fossil-users<http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users>
>
_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to