Ejemplo n.º 1
0
 def run(self):
     if '(' not in self.text:
         try:
             ctx = self.repo[self.text]
             self.showMessage.emit(_('found revision'))
             self.queryIssued.emit(self.query, [ctx.rev()])
             return
         except (error.RepoError, error.LookupError, error.Abort):
             self.text = 'keyword("%s")' % self.text
     cwd = os.getcwd()
     try:
         os.chdir(self.repo.root)
         func = hglib.revsetmatch(self.repo.ui, self.text)
         l = []
         for c in func(self.repo, range(len(self.repo))):
             l.append(c)
         if len(l):
             self.showMessage.emit(_('%d matches found') % len(l))
         else:
             self.showMessage.emit(_('No matches found'))
         self.queryIssued.emit(self.query, l)
     except error.ParseError, e:
         if len(e.args) == 2:
             msg, pos = e.args
             self.setCursorPosition.emit(0, pos)
         else:
             msg = e.args[0]
         self.showMessage.emit(_('Parse Error: ') + hglib.tounicode(msg))
Ejemplo n.º 2
0
    def commit(self):
        tip, base = self.revs
        func = hglib.revsetmatch(self.repo.ui, '%s::%s' % (base, tip))
        revcount = len(self.repo)
        revs = [c for c in func(self.repo, range(revcount)) if c != base]
        descs = [self.repo[c].description() for c in revs]
        self.repo.opener('cur-message.txt', 'w').write('\n* * *\n'.join(descs))

        dlg = commit.CommitDialog(self.repo, [], {}, self)
        dlg.finished.connect(dlg.deleteLater)
        dlg.exec_()
        self.showMessage.emit(_('Compress is complete, old history untouched'))
        self.compressbtn.setText(_('Close'))
        self.compressbtn.clicked.disconnect(self.commit)
        self.compressbtn.clicked.connect(self.accept)