Changeset 328 in tailor for vcpx/session.py


Ignore:
Timestamp:
05/25/05 01:47:10 (8 years ago)
Author:
lele@…
Hash name:
20050524234710-97f81-450081d4cdf715421d40b247679f5152a45df14c
Message:

State_file is mandatory for both bootstrap and update

File:
1 edited

Legend:

Unmodified
Added
Removed
  • vcpx/session.py

    r325 r328  
    6262        self.sub_directory = None 
    6363         
    64         self.state_file = 'tailor.state' 
     64        self.state_file = None 
    6565         
    6666        self.logfile = None 
     
    393393        from dualwd import DualWorkingDir 
    394394 
     395        if not self.state_file: 
     396            self.__err('Need a state_file to proceed!\n') 
     397            return 
     398         
    395399        if self.sub_directory: 
    396400            subdir = self.sub_directory 
     
    472476        from dualwd import DualWorkingDir 
    473477        from os.path import join 
    474          
     478 
     479        if not self.state_file: 
     480            self.__err('Need a state_file to proceed!\n') 
     481            return 
     482                 
    475483        source_revision = self.readSourceRevision() 
    476         if source_revision: 
    477             repodir = join(self.current_directory, self.sub_directory) 
    478             dwd = DualWorkingDir(self.source_kind, self.target_kind) 
    479             changesets = dwd.getUpstreamChangesets(repodir, 
    480                                                    self.source_repository, 
    481                                                    self.source_module, 
    482                                                    source_revision) 
    483             nchanges = len(changesets) 
    484             if nchanges: 
    485                 self.__log('Collected %d upstream changesets\n' % nchanges) 
    486  
    487                 if arg: 
    488                     applyable = self.willApply 
    489                     try: 
    490                         howmany = min(int(arg), nchanges) 
    491                         changesets = changesets[:howmany] 
    492                         self.__log('Applying first %d of them\n' % howmany) 
    493                     except ValueError: 
    494                         if arg.lower() == 'ask': 
    495                             applyable = self.shouldApply 
    496  
     484        if not source_revision: 
     485            self.__err("Not yet bootstrapped!\n") 
     486            return 
     487         
     488        repodir = join(self.current_directory, self.sub_directory) 
     489        dwd = DualWorkingDir(self.source_kind, self.target_kind) 
     490        changesets = dwd.getUpstreamChangesets(repodir, 
     491                                               self.source_repository, 
     492                                               self.source_module, 
     493                                               source_revision) 
     494        nchanges = len(changesets) 
     495        if nchanges: 
     496            self.__log('Collected %d upstream changesets\n' % nchanges) 
     497 
     498            if arg: 
     499                applyable = self.willApply 
    497500                try: 
    498                     last, conflicts = dwd.applyUpstreamChangesets( 
    499                         repodir, self.source_module, changesets, 
    500                         applyable=applyable, applied=self.applied, 
    501                         logger=self.logger) # , delayed_commit=single_commit) 
    502                 except: 
    503                     if self.logger: 
    504                         self.logger.exception('Upstream change application ' 
    505                                               'failed') 
    506                     self.__err('Stopping after upstream change application ' 
    507                                'failure.') 
    508                     return 
    509  
    510                 if last: 
    511                     self.__log("Update completed, now at revision '%s'" % 
    512                                self.readSourceRevision()) 
    513             else: 
    514                 self.__log("Update completed with no upstream changes") 
     501                    howmany = min(int(arg), nchanges) 
     502                    changesets = changesets[:howmany] 
     503                    self.__log('Applying first %d of them\n' % howmany) 
     504                except ValueError: 
     505                    if arg.lower() == 'ask': 
     506                        applyable = self.shouldApply 
     507 
     508            try: 
     509                last, conflicts = dwd.applyUpstreamChangesets( 
     510                    repodir, self.source_module, changesets, 
     511                    applyable=applyable, applied=self.applied, 
     512                    logger=self.logger) # , delayed_commit=single_commit) 
     513            except: 
     514                if self.logger: 
     515                    self.logger.exception('Upstream change application ' 
     516                                          'failed') 
     517                self.__err('Stopping after upstream change application ' 
     518                           'failure.') 
     519                return 
     520 
     521            if last: 
     522                self.__log("Update completed, now at revision '%s'" % 
     523                           self.readSourceRevision()) 
    515524        else: 
    516             self.__err("Not yet bootstrapped!\n") 
     525            self.__log("Update completed with no upstream changes") 
    517526 
    518527         
Note: See TracChangeset for help on using the changeset viewer.