[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

How to debug failing Kernel.system call

Ball, Donald A Jr (Library)

11/12/2007 9:31:00 PM

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

3 Answers

Alex Shulgin

11/13/2007 1:00:00 PM

0

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

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


--
Alex

Ball, Donald A Jr (Library)

11/13/2007 10:21:00 PM

0

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

Alex Shulgin

11/14/2007 12:37:00 PM

0

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.

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


--
Cheers,
Alex