It looks like trying to override both the shell and the fossil
location works only for the initial clone. There is a problem with
using "&" to separate the second parameter so a sync done later fails.

/opt/bin/fossil remote-url
'ssh://localhost:22///tmp/fossils/testing.fossil?fossil=/opt/bin/fossil&shell=/usr/bin/bash'

Everything after the "&" seems not to be stored by fossil.

For now I use the fossil I compiled where I forced the shell. Can the
remote-url storage escape the "&" or is there an alternate character
that can be used?

On Wed, Feb 6, 2013 at 7:05 PM, Matt Welland <estifo...@gmail.com> wrote:
> On Wed, Feb 6, 2013 at 5:31 PM, Richard Hipp <d...@sqlite.org> wrote:
>>
>> On Wed, Feb 6, 2013 at 6:22 PM, Matt Welland <estifo...@gmail.com> wrote:
>>>
>>> I got some help from a co-worker to test this fix. He ran 1000's of clones 
>>> with bash as a login shell and with tcsh as a login shell with zero 
>>> problems. Can a couple other folks test it and can it then get into the 
>>> official release (assuming no problems found)?
>>>
>>> It would be a real boon for me and some of my co-workers to have this 
>>> working :)
>>
>>
>> I want to understand the problem before I put in the fix.
>>
>> To try to help better understand what is happening, I have added a new query 
>> parameter to the ssh: url scheme.  You can now say:
>>
>>     fossil clone ssh://user@host/path/to/repo?shell=/bin/bash new.fossil
>>
>> and that will cause Fossil to add the "/bin/bash" argument to the end of the 
>> ssh command.  Please note that you can also do --sshtrace to get some 
>> interactive information on what the ssh command is doing.
>
>
> This idea seems good to me. I'll test it tomorrow. Thanks!
>
>> On my debian system, the clone hangs with shell=/bin/tcsh and with 
>> shell=/bin/sh but works with shell=/bin/bash.  Except if I also add the 
>> --httptrace argument, then all three work.  The --httptrace argument 
>> disables compression of the content moving over the wire.  So perhaps the 
>> problem is that with compression turned on you occasionally get binary 0x00 
>> bytes moving over the wire, which confuses /bin/tcsh and /bin/dash but not 
>> /bin/bash.  Just a guess.
>
>
> I did try "stty raw" thinking it might be xon/xoff or other
> handshaking but got errors with the command.
>
>> Note that you have long had a query parameter 
>> fossil=/path/to/fossil/on/remote/system with the ssh: scheme that lets you 
>> specify a particular version of fossil to run on the remote system.  At 
>> least on my machine, my fossil binaries is not on the path set up by .cshrc, 
>> so I also have to manually specify the location of the fossil binary if I 
>> change from using /bin/bash.
>
> Yep, I used the ?fossil= to do my testing. This approach with the
> query parameters is very useful.
>
>>>
>>>
>>> Cheers,
>>>
>>> Matt
>>>
>>>> The patch with junk eliminated, it is just one line change:
>>>>
>>>>
>>>> Index: src/http_transport.c
>>>> ==================================================================
>>>> --- src/http_transport.c
>>>> +++ src/http_transport.c
>>>> @@ -222,10 +222,11 @@
>>>>
>>>>        zHost = mprintf("%s", g.urlName);
>>>>      }
>>>>      blob_append(&zCmd, " ", 1);
>>>>      shell_escape(&zCmd, zHost);
>>>>      fossil_print(" %s\n", zHost);  /* Show the conclusion of the SSH 
>>>> command */
>>>> +    blob_append(&zCmd, " exec /bin/sh", -1);
>>>>      free(zHost);
>>>>      popen2(blob_str(&zCmd), &sshIn, &sshOut, &sshPid);
>>>>      if( sshPid==0 ){
>>>>        fossil_fatal("cannot start ssh tunnel using [%b]", &zCmd);
>>>>      }
>>>>
>>>>
>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> D. Richard Hipp
>>>>>> d...@sqlite.org
>>>>>>
>>>>>> _______________________________________________
>>>>>> fossil-users mailing list
>>>>>> fossil-users@lists.fossil-scm.org
>>>>>> 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
>>>
>>
>>
>>
>> --
>> D. Richard Hipp
>> d...@sqlite.org
>>
>> _______________________________________________
>> fossil-users mailing list
>> fossil-users@lists.fossil-scm.org
>> 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