Index: vcpx/session.py
===================================================================
--- vcpx/session.py	(revision 323)
+++ vcpx/session.py	(revision 325)
@@ -64,5 +64,4 @@
         self.state_file = 'tailor.state'
         
-        self.changesets = None
         self.logfile = None
         self.logger = None
@@ -426,5 +425,5 @@
                                         self.sub_directory,
                                         actual)
-        except:
+        except Exception, exc:
             self.__err('Working copy initialization failed: %s, %s' % (exc.__doc__, exc))
             if self.logger:
@@ -471,15 +470,15 @@
         """
 
+        from dualwd import DualWorkingDir
+        from os.path import join
+        
         source_revision = self.readSourceRevision()
-        if self.source_kind and \
-           self.source_repository and \
-           self.source_module and \
-           source_revision:
-
+        if source_revision:
+            repodir = join(self.current_directory, self.sub_directory)
             dwd = DualWorkingDir(self.source_kind, self.target_kind)
-            self.changesets = dwd.getUpstreamChangesets(self.current_directory,
-                                                        self.source_repository,
-                                                        self.source_module,
-                                                        source_revision)
+            changesets = dwd.getUpstreamChangesets(repodir,
+                                                   self.source_repository,
+                                                   self.source_module,
+                                                   source_revision)
             nchanges = len(changesets)
             if nchanges:
@@ -487,5 +486,5 @@
 
                 if arg:
-                    appliable = self.willApply
+                    applyable = self.willApply
                     try:
                         howmany = min(int(arg), nchanges)
@@ -494,11 +493,11 @@
                     except ValueError:
                         if arg.lower() == 'ask':
-                            appliable = self.shouldApply
+                            applyable = self.shouldApply
 
                 try:
                     last, conflicts = dwd.applyUpstreamChangesets(
-                        proj, self.module, changesets, applyable=applyable,
-                        applied=self.applied, logger=self.logger,
-                        delayed_commit=single_commit)
+                        repodir, self.source_module, changesets,
+                        applyable=applyable, applied=self.applied,
+                        logger=self.logger) # , delayed_commit=single_commit)
                 except:
                     if self.logger:
@@ -515,6 +514,5 @@
                 self.__log("Update completed with no upstream changes")
         else:
-            self.__err("needs 'source_kind', 'source_repository' and "
-                       "'source_module' to proceed.\n")
+            self.__err("Not yet bootstrapped!\n")
 
         
