[svk-commit] r2869 - trunk/lib/SVK

nobody at bestpractical.com nobody at bestpractical.com
Mon May 12 11:07:47 EDT 2008


Author: clkao
Date: Mon May 12 11:06:58 2008
New Revision: 2869

Modified:
   trunk/lib/SVK/XD.pm

Log:
Fix the bug that in non-uptodate checkout, certain commands
requires the signature cache to be dirty to work correctly,
because target_from_copath_maybe is setting the associated
SVK::Path incorrectly that points to the latest revision.


Modified: trunk/lib/SVK/XD.pm
==============================================================================
--- trunk/lib/SVK/XD.pm	(original)
+++ trunk/lib/SVK/XD.pm	Mon May 12 11:06:58 2008
@@ -577,14 +577,15 @@
 	my ($cinfo, $coroot) = $self->{checkout}->get ($copath);
 	die loc("path %1 is not a checkout path.\n", $copath) unless %$cinfo;
 	($repospath, $path, $repos) = $self->find_repos ($cinfo->{depotpath}, 1);
-	my ($rev, $subpath);
-	if (($view, $rev, $subpath) = $path =~ m{^/\^([\w/\-_]+)(?:\@(\d+)(.*))?$}) {
-	    ($path, $view) = SVK::Command->create_view ($repos, $view, $rev, $subpath);
+	my ($view_rev, $subpath);
+	if (($view, $view_rev, $subpath) = $path =~ m{^/\^([\w/\-_]+)(?:\@(\d+)(.*))?$}) {
+	    ($path, $view) = SVK::Command->create_view ($repos, $view, $view_rev, $subpath);
 	}
 
 	$path = abs2rel ($copath, $coroot => $path, '/');
 
 	($depotpath) = $cinfo->{depotpath} =~ m|^/(.*?)/|;
+        $rev = $cinfo->{revision} unless defined $rev;
 	$depotpath = "/$depotpath$path";
     }
 


More information about the svk-commit mailing list