How to debug failing Kernel.system call

  • Thread starter Ball, Donald A Jr (Library)
  • Start date
B

Ball, Donald A Jr (Library)

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
 
A

Alex Shulgin

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.)

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. ;-)
 
B

Ball, Donald A Jr (Library)

I'm on a win32 box, fwiw, running ruby-1.8.5. Do I need to=20
be manually=20
=20
Try to examine stderr output. Plus try to enclose the=20
parameters with spaces in double quotes--it's Windows anyway,=20
so who knows, it might work that way. ;-)

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
 
A

Alex Shulgin

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.

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

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,982
Messages
2,570,190
Members
46,740
Latest member
AdolphBig6

Latest Threads

Top