hgext/mq.py
changeset 14576 668ea374f46e
parent 14575 845c864200d0
child 14577 76357276662e
equal deleted inserted replaced
14575:845c864200d0 14576:668ea374f46e
   390                     raise util.Abort(_('%s appears more than once in %s') %
   390                     raise util.Abort(_('%s appears more than once in %s') %
   391                                      (patch, self.join(self.series_path)))
   391                                      (patch, self.join(self.series_path)))
   392                 self.series.append(patch)
   392                 self.series.append(patch)
   393                 self.seriesguards.append(self.guard_re.findall(comment))
   393                 self.seriesguards.append(self.guard_re.findall(comment))
   394 
   394 
   395     def check_guard(self, guard):
   395     def checkguard(self, guard):
   396         if not guard:
   396         if not guard:
   397             return _('guard cannot be an empty string')
   397             return _('guard cannot be an empty string')
   398         bad_chars = '# \t\r\n\f'
   398         bad_chars = '# \t\r\n\f'
   399         first = guard[0]
   399         first = guard[0]
   400         if first in '-+':
   400         if first in '-+':
   404             if c in guard:
   404             if c in guard:
   405                 return _('invalid character in guard %r: %r') % (guard, c)
   405                 return _('invalid character in guard %r: %r') % (guard, c)
   406 
   406 
   407     def set_active(self, guards):
   407     def set_active(self, guards):
   408         for guard in guards:
   408         for guard in guards:
   409             bad = self.check_guard(guard)
   409             bad = self.checkguard(guard)
   410             if bad:
   410             if bad:
   411                 raise util.Abort(bad)
   411                 raise util.Abort(bad)
   412         guards = sorted(set(guards))
   412         guards = sorted(set(guards))
   413         self.ui.debug('active guards: %s\n' % ' '.join(guards))
   413         self.ui.debug('active guards: %s\n' % ' '.join(guards))
   414         self.active_guards = guards
   414         self.active_guards = guards
   422             except IOError, err:
   422             except IOError, err:
   423                 if err.errno != errno.ENOENT:
   423                 if err.errno != errno.ENOENT:
   424                     raise
   424                     raise
   425                 guards = []
   425                 guards = []
   426             for i, guard in enumerate(guards):
   426             for i, guard in enumerate(guards):
   427                 bad = self.check_guard(guard)
   427                 bad = self.checkguard(guard)
   428                 if bad:
   428                 if bad:
   429                     self.ui.warn('%s:%d: %s\n' %
   429                     self.ui.warn('%s:%d: %s\n' %
   430                                  (self.join(self.guards_path), i + 1, bad))
   430                                  (self.join(self.guards_path), i + 1, bad))
   431                 else:
   431                 else:
   432                     self.active_guards.append(guard)
   432                     self.active_guards.append(guard)
   436         for g in guards:
   436         for g in guards:
   437             if len(g) < 2:
   437             if len(g) < 2:
   438                 raise util.Abort(_('guard %r too short') % g)
   438                 raise util.Abort(_('guard %r too short') % g)
   439             if g[0] not in '-+':
   439             if g[0] not in '-+':
   440                 raise util.Abort(_('guard %r starts with invalid char') % g)
   440                 raise util.Abort(_('guard %r starts with invalid char') % g)
   441             bad = self.check_guard(g[1:])
   441             bad = self.checkguard(g[1:])
   442             if bad:
   442             if bad:
   443                 raise util.Abort(bad)
   443                 raise util.Abort(bad)
   444         drop = self.guard_re.sub('', self.fullseries[idx])
   444         drop = self.guard_re.sub('', self.fullseries[idx])
   445         self.fullseries[idx] = drop + ''.join([' #' + g for g in guards])
   445         self.fullseries[idx] = drop + ''.join([' #' + g for g in guards])
   446         self.parseseries()
   446         self.parseseries()