'svn up nonexistent' will pull in a file (inappropriately) called 'nonexistent' that has been created on the server in a revision newer than the BASE revision of the working copy.
Varnau, Steve (Neoview) wrote on Mon, May 23, 2011 at 21:30:26 +0000: > svn does not always return success. For instance: > > > svn ls > svn: '.' is not a working copy > > echo $? > 1 > > I think this is the more normal mode that I script against. I'm not sure why > the update sub-command is so forgiving. > > -Steve > > From: Hahn, Christopher (SAN DIEGO) > Sent: Monday, May 23, 2011 1:54 PM > To: Varnau, Steve (Neoview); users@subversion.apache.org > Subject: RE: SVN question > > Steve, > > Thank you for taking the time. > > I also saw this....I was wondering what users do to get something similar > working. > > The same thing happens under Perforce. The command "p4" always returns a > successful exit code. The way around that is the odd "-s" switch which > causes the > tool to emit a string like "exit: #" where the underlying commands success or > failure > was specified. Is there perhaps some similar technique for SVN? > > I checked the svn Global Options and did not see anything similar. > > I suppose that I can just use a pipe and watch for strings that I expect..... > > Take care, > > Christopher > > From: Varnau, Steve (Neoview) > Sent: Monday, May 23, 2011 1:33 PM > To: Hahn, Christopher (SAN DIEGO); users@subversion.apache.org > Subject: RE: SVN question > > Christopher, > > The problem is not with your perl code. Apparently, update returns success if > you give it a path that does not exist in the current working directory. > > > Ø svn update foobar > > At revision 3158. > > Ø echo $? > > 0 > > For Svn 1.6.15, anyway. Seems to hold for linux & windows. > > -Steve > > From: Hahn, Christopher (SAN DIEGO) > Sent: Monday, May 23, 2011 11:34 AM > To: users@subversion.apache.org > Subject: SVN question > > Hello, > > I have been wondering how best to capture errors from > the SVN command line. > > I wanted to show you how a basic test is failing. > > Consider the simple code snippet: > ========================================== > use strict; > my $options=" --username builduser --password XXXX"; > > chdir("C:\\source"); > my $output = `svn update --depth=infinity mang $options`; > > die "svn failed with errorcode $?" if $?; > print "We survived!\n"; > ========================================== > > This command works if the "mang" above is changed to "main" > (which does exist at c:\source). > > However, both code have this result: > ========================================== > C:\source\cm\script>perl svntest.pl > We survived! > > C:\source\cm\script>perl svntest.pl > We survived! > ========================================== > > What am I doing wrong? > > Chris > > ________________________________ > > [cid:image001.png@01CAF080.AD65F1E0] > > Christopher Hahn > The Dude > Software Production Engineering > R&D Services, Hewlett-Packard > Phone: 858-655-4096 > Cell: 619-630-9791 > ch...@hp.com<mailto:christopher.h...@hp.com> > > Visit our SPE Portal<http://teams5.sharepoint.hp.com/teams/SPE/default.aspx> > > ________________________________ > > >