How to debug failing Kernel.system call

Hi folks. I've got a simple Kernel.system call which is failing:

system('svn', 'commit', '-q', '--non-interactive', '--message', 'File updated by dball', 'reports/2007-11-11.txt')

with exit code 256. When I run this from the command line, wrapping the final two parameters in double quotes, it runs fine. Any suggestions for what I may be doing wrong or where to look for debugging inspiration?

I'm on a win32 box, fwiw, running ruby-1.8.5. Do I need to be manually quoting the parameters to system? (Docs and previous experience suggest not, but I've been wrong before.)

- donald

Try to examine stderr output. Plus try to enclose the parameters with
spaces in double quotes--it's Windows anyway, so who knows, it might
work that way. :wink:

···

On Nov 12, 11:31 pm, "Ball, Donald A Jr (Library)" <donald.b...@nashville.gov> wrote:

Hi folks. I've got a simple Kernel.system call which is failing:

system('svn', 'commit', '-q', '--non-interactive', '--message', 'File updated by dball', 'reports/2007-11-11.txt')

with exit code 256. When I run this from the command line, wrapping the final two parameters in double quotes, it runs fine. Any suggestions for what I may be doing wrong or where to look for debugging inspiration?

I'm on a win32 box, fwiw, running ruby-1.8.5. Do I need to be manually quoting the parameters to system? (Docs and previous experience suggest not, but I've been wrong before.)

--
Alex

> I'm on a win32 box, fwiw, running ruby-1.8.5. Do I need to
be manually
> quoting the parameters to system? (Docs and previous experience
> suggest not, but I've been wrong before.)

Try to examine stderr output. Plus try to enclose the
parameters with spaces in double quotes--it's Windows anyway,
so who knows, it might work that way. :wink:

I've switched to using the single argument version of system doing my
own quoting of parameters with spaces, and I continue to get a failing
error code. Here's what I'm doing now:

system("svn commit --non-interactive --message \"File added by dball\"")

after changing pwd to the root of the folder in which the svn repository
is checked out. Stderr reports:

svn: Commit failed (details follow):
svn: Unable to open an ra_local session to URL
svn: Unable to open repository
'file:///z:/techserv/svn/intranet-files/reports'

The true svn repository is at file:///z:/techserv/svn/intranet-files,
while the file I added is in the reports directory.

I'd submit that this has nothing to do with ruby but for the fact that
when I run that command string from the win32 command shell, it works as
expected. I'm pretty much at a loss now, so if anyone has any
suggestions, no matter how bizarre, I'm all ears.

- donald

Try to check environment variables--do you get the same in
Kernel#system as when command running from shell?

···

On Nov 14, 12:20 am, "Ball, Donald A Jr (Library)" <donald.b...@nashville.gov> wrote:

I'd submit that this has nothing to do with ruby but for the fact that
when I run that command string from the win32 command shell, it works as
expected. I'm pretty much at a loss now, so if anyone has any
suggestions, no matter how bizarre, I'm all ears.

--
Cheers,
Alex