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