[svk-commit] r2632 - in branches/smcp-base-bug/lib/SVK: .

nobody at bestpractical.com nobody at bestpractical.com
Sat Dec 15 08:02:14 EST 2007


Author: clkao
Date: Sat Dec 15 08:02:14 2007
New Revision: 2632

Modified:
   branches/smcp-base-bug/lib/SVK/Editor/Merge.pm
   branches/smcp-base-bug/lib/SVK/Merge.pm

Log:
when using inspector to check with the copysource base paths, we need to
use non-txn inspector so we don't get fooled by nodes we touch during
the current merge.


Modified: branches/smcp-base-bug/lib/SVK/Editor/Merge.pm
==============================================================================
--- branches/smcp-base-bug/lib/SVK/Editor/Merge.pm	(original)
+++ branches/smcp-base-bug/lib/SVK/Editor/Merge.pm	Sat Dec 15 08:02:14 2007
@@ -58,7 +58,7 @@
 use autouse 'SVK::Util'
     => qw( slurp_fh md5_fh tmpfile devnull abs2rel );
 
-__PACKAGE__->mk_accessors(qw(inspector notify storage ticket cb_merged));
+__PACKAGE__->mk_accessors(qw(inspector static_inspector notify storage ticket cb_merged));
 
 use Class::Autouse qw(SVK::Inspector::Root SVK::Notify
 		      Data::Hierarchy IO::Digest);
@@ -311,11 +311,9 @@
     my ($self, $path, $orig, $pool) = @_;
     my ($basepath, $fromrev) = $self->_resolve_base($path, $orig);
     if ($basepath) {
-	my $inspector =
-	    SVK::Inspector::Root->new({ anchor => $self->inspector->anchor,
-					root => $self->{base_root}->fs->revision_root($fromrev, $pool),
-					path_translations => $self->inspector->path_translations });
-	return ($basepath, $fromrev, $inspector);
+	# if the inspector is involving copy base, we can't use
+	# $self->inspector, as it represent the current txn
+	return ($basepath, $fromrev, $self->static_inspector);
     }
 
     return ($path, undef, $self->inspector) 

Modified: branches/smcp-base-bug/lib/SVK/Merge.pm
==============================================================================
--- branches/smcp-base-bug/lib/SVK/Merge.pm	(original)
+++ branches/smcp-base-bug/lib/SVK/Merge.pm	Sat Dec 15 08:02:14 2007
@@ -543,6 +543,7 @@
     my $meditor = SVK::Editor::Merge->new
 	( anchor => $src->path_anchor,
 	  repospath => $src->repospath, # for stupid copyfrom url
+	  static_inspector => $self->{dst}->inspector,
 	  base_anchor => $base->path_anchor,
 	  base_root => $base_root,
 	  target => $target,


More information about the svk-commit mailing list