Index: vcpx/cvsps.py
===================================================================
--- vcpx/cvsps.py	(revision 671)
+++ vcpx/cvsps.py	(revision 680)
@@ -310,5 +310,6 @@
             self.log_info("Using existing %s" % self.basedir)
 
-        self.__forceTagOnEachEntry()
+        if self.repository.tag_entries:
+            self.__forceTagOnEachEntry()
 
         entries = CvsEntries(self.basedir)
Index: vcpx/repository.py
===================================================================
--- vcpx/repository.py	(revision 664)
+++ vcpx/repository.py	(revision 680)
@@ -149,4 +149,5 @@
         Repository._load(self, config, which)
         self.CVS_CMD = config.get(self.name, 'cvs-command', self.CVS_CMD)
+        self.tag_entries = config.get(self.name, 'tag-entries', True)
 
     def _validateConfiguration(self):
@@ -154,5 +155,4 @@
         from config import ConfigurationError
 
-
         if not self.module and self.repository:
             self.module = split(self.repository)[1]
@@ -167,4 +167,5 @@
         CvsRepository._load(self, config, which)
         self.CVSPS_CMD = config.get(self.name, 'cvsps-command', self.CVSPS_CMD)
+        self.tag_entries = config.get(self.name, 'tag-entries', True)
 
 
Index: vcpx/dualwd.py
===================================================================
--- vcpx/dualwd.py	(revision 625)
+++ vcpx/dualwd.py	(revision 681)
@@ -45,4 +45,8 @@
         self.target._prepareTargetRepository()
 
+        self.shared_basedirs = self.source.shared_basedirs = \
+                               self.target.shared_basedirs = \
+                               self.source.basedir == self.target.basedir
+
         IGNORED_METADIRS = [source_repo.METADIR, target_repo.METADIR]
 
@@ -77,10 +81,10 @@
 
     def importFirstRevision(self, source_repo, changeset, initial):
-        if self.source.basedir <> self.target.basedir:
+        if not self.shared_basedirs:
             self._syncTargetWithSource()
         self.target.importFirstRevision(source_repo, changeset, initial)
 
     def replayChangeset(self, changeset):
-        if self.source.basedir <> self.target.basedir:
+        if not self.shared_basedirs:
             self._syncTargetWithSource()
         self.target.replayChangeset(changeset)
