Patching locally against mirror source svn://svn.clkao.org/svk/branches/1.0-releng.
==== Patch <-> level 1
Source: [No source]
Target: 4ccb8a5b-8ae0-0310-9b02-86531366991d:/branches/1.0-releng/lib/SVK:1163
        (svn://svn.clkao.org/svk/branches/1.0-releng)
Log:
Lock non-existant paths before checkout
=== Command/Checkout.pm
==================================================================
--- Command/Checkout.pm  (revision 1163)
+++ Command/Checkout.pm  (patch - level 1)
@@ -5,7 +5,7 @@
 use base qw( SVK::Command::Update );
 use SVK::XD;
 use SVK::I18N;
-use SVK::Util qw( get_anchor abs_path move_path splitdir $SEP get_encoding );
+use SVK::Util qw( get_anchor abs_path move_path splitdir $SEP get_encoding abs_path_noexist );
 use File::Path;
 
 sub options {
@@ -39,7 +39,7 @@
 
 sub lock {
     my ($self, $src, $dst) = @_;
-    my $abs_path = abs_path ($dst) or return;
+    my $abs_path = abs_path_noexist ($dst) or return;
     $self->{xd}->lock ($abs_path);
 }
 
=== Util.pm
==================================================================
--- Util.pm  (revision 1163)
+++ Util.pm  (patch - level 1)
@@ -16,7 +16,7 @@
 
     abs_path abs2rel catdir catfile catpath devnull dirname get_anchor 
     move_path make_path splitpath splitdir tmpdir tmpfile get_depot_anchor
-    catdepot
+    catdepot abs_path_noexist 
 
     is_symlink is_executable is_uri can_run
 );
@@ -540,6 +540,28 @@
     return undef;
 }
 
+=head3 abs_path_noexist ($path)
+
+Return paths with components in symlink resolved, but keep the final
+path even if it's symlink.  Unlike abs_path(), returns a valid value
+even if the base directory doesn't exist.
+
+=cut
+
+sub abs_path_noexist {
+    my $path = shift;
+
+    my $rest = '';
+    until (abs_path ($path)) {
+	return $rest unless length $path;
+	my $new_path = dirname($path);
+	$rest = substr($path, length($new_path)) . $rest;
+	$path = $new_path;
+    }
+
+    return abs_path ($path) . $rest;
+}
+
 =head3 abs2rel ($pathname, $old_basedir, $new_basedir, $sep)
 
 Replace the base directory in the native pathname to another base directory

==== BEGIN SVK PATCH BLOCK ====
Version: svk 0.994 (MSWin32)

eJyFk81rE0EYxldqYhM9tFRQwUKE1daPNDuzs5OZqCEifpRKULSieIizu7Pt2s1u2GyLgREZW0Tx
JOJFUfAiXj0rnrx596QpErGC/4IHJ5sWLYgeh/d5fs8778x7Or50tAZEtWoIHRji4uWZSuU8S5z5
/eqkY8FdP4li3RIBX+KBboogmtORCFmTq2rC4jmeVKtAmcnAfCo1bEBQn2GzJArbOk1hjSTmXAcC
1SxRg6JmKqsAqhi1eNiIoyhRYQBZCKtqo9+TE0Rt3uh7lVi5lB7qAA0Mrh9zRwV29LI4GTWbLHRT
3gYjlaMNvOcHXAlnEz+YajU3Cc1+mLUe9puqJP0uU4y5CQPoRmDp5Dx3FqLFZMCE/2fCATOtslYr
6DQSfjNxeZCwNMeEwmCEG5QTYts2MCxiumXoUJcS4gJCkKeb/YHXNe31xOva7iFN3tCG5bHlzP26
dveE9KdlrL0S9w43wqiG/pzjoPdBBjCQonvQoMixEUaMA85tDBlHzHVN+s8uUZ9AgQEcw4LEchm3
gAldRh1sA1LGHqfU00EZDdqUL4R8OSR35bSV61quO7ac+VCX2uq+lev1FVe78Wl+m7xLz34dubP9
59g2+eBIZm2vHP58dOzr8a2fO5k3zp7u0PSKP94dz36/lZEPLww/yWUfX5Mj3WZGPp3O/zgkR59v
ya/msvJRJ/v+ysiX0tZePhV+nMm+7ezoHTjz7VimRzPy2e3c+8tn1yZ29q6OdpvTa1B7N9xL1KAK
kwfzk+2/jiu9bNlGpud52DGwa0NsYcrLhkMwMxEBGJjpfzKpOBc5C4UwCov8pt9OWJgUWiyZbxds
7kUxLzjrv0XJi9UqFDqEg9W5lG5TpTIb+ks8brNgPxZq1/pmtXgxX1KHxUXf1SERJTtmoSK1S2DK
KMY84OFcKfDtkiIpGQBYvTAWyHFswiy7SBg3ioYJjCK1DVgk2DKBiTGlwP0FoxJQHQ==
==== END SVK PATCH BLOCK ====
