--- vcpx/repository/cvsps.py.orig	2006-08-29 18:47:51.000000000 -0400
+++ vcpx/repository/cvsps.py	2006-08-29 18:51:26.369693309 -0400
@@ -259,6 +259,7 @@
 
     def __maybeDeleteDirectory(self, entrydir, changeset):
         from os.path import join, exists
+        from shutil import rmtree
         from vcpx.repository.cvs import CvsEntries
 
         if not entrydir:
@@ -272,6 +273,14 @@
                 if added.name.startswith(entrydir):
                     # entrydir got empty, but only temporarily
                     return False
+
+            # Since nothing else will change the working directory to remove
+            # the dead directory, (and since we created it ourselves!), effect
+            # the dead directory's removal in the source working directory.
+            #
+            # This addresses the problem where a directory reappears in a
+            # source tree but it is not added again in the target repository.
+            rmtree(absentrydir)
             return True
         return False
 
