Bug 304415

Summary: svn upgrade errors not handled
Product: [Developer tools] kdesrc-build Reporter: Will Stephenson <wstephenson>
Component: generalAssignee: Michael Pyne <mpyne>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: 1.15.1   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Will Stephenson 2012-08-02 03:55:12 UTC
After upgrading Subversion, my existing working copies fail to svn up and need an "svn upgrade" run, but kdesrc-build doesn't recognise this, thinking the svn repo moved.

Reproducible: Always

Actual Results:  
Use of uninitialized value $result in scalar chomp at /home/wstephenson/bin/kdesrc-build line 3198.
Use of uninitialized value $result in substitution (s///) at /home/wstephenson/bin/kdesrc-build line 3199.
Use of uninitialized value $module_actual_url in substitution (s///) at /home/wstephenson/bin/kdesrc-build line 2735.
Use of uninitialized value $module_actual_url in string ne at /home/wstephenson/bin/kdesrc-build line 2737.
playground/edu/workout is checked out from a different location than expected.
Attempting to correct
Updating playground/edu/workout
        Update failed, trying a cleanup.
svn: E155036: Please see the 'svn upgrade' command
svn: E155036: Working copy '/home/space/kde/src/git/playground/edu/workout' is too old (format 10, created by Subversion 1.6)
Error updating playground/edu/workout, removing from list of packages to build.


Expected Results:  
Call svn upgrade itself?
Comment 1 Michael Pyne 2012-08-03 00:22:27 UTC
I take it this is Subversion 1.7 or something? My current svn (1.6.17) doesn't even have an upgrade command... :-/
Comment 2 Michael Pyne 2012-08-04 00:06:26 UTC
Git commit 9a7a4d6330fa247e5cd57ea8e196b26229f34222 by Michael Pyne.
Committed on 04/08/2012 at 01:52.
Pushed by mpyne into branch 'master'.

Upgrade svn 1.7 repositories automatically.

Subversion 1.7 requires a manual upgrade of the working copy in order to
do anything (even to run svn status). Luckily there's an error message
ID for this case so it's not too hard to grep for situations where this
is necessary.

One problematic element is that since even 'svn info' doesn't work in
this situation, --pretend mode doesn't work either for svn modules. For
now I just throw an exception (after the check) when in pretend mode so
avoid follow-on useless error messages.

It was interesting how I still had the old 1.6.17 for so long -- turns
out I had forgot to rename my subversion selector asking for unstable
versions in Gentoo (at some point their package name changed from
dev-util/subversion to dev-vcs/subversion, which I didn't keep up with).

Thanks Will Stephenson for the bug report.

M  +66   -3    kdesrc-build

http://commits.kde.org/kdesrc-build/9a7a4d6330fa247e5cd57ea8e196b26229f34222