Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py

branch
5_4_x
changeset 3245
48311fa7c52c
parent 3160
209a07d7e401
child 3248
38d32752025c
equal deleted inserted replaced
3240:7cb4665c9c05 3245:48311fa7c52c
580 column, color, edges = self.__generateEdges(int(rev), parents) 580 column, color, edges = self.__generateEdges(int(rev), parents)
581 581
582 itm.setData(0, self.__messageRole, message) 582 itm.setData(0, self.__messageRole, message)
583 itm.setData(0, self.__changesRole, changedPaths) 583 itm.setData(0, self.__changesRole, changedPaths)
584 itm.setData(0, self.__edgesRole, edges) 584 itm.setData(0, self.__edgesRole, edges)
585 itm.setData(0, self.__parentsRole, parents) 585 if parents == [-1]:
586 itm.setData(0, self.__parentsRole, [])
587 else:
588 itm.setData(0, self.__parentsRole, parents)
586 589
587 if self.logTree.topLevelItemCount() > 1: 590 if self.logTree.topLevelItemCount() > 1:
588 topedges = \ 591 topedges = \
589 self.logTree.topLevelItem( 592 self.logTree.topLevelItem(
590 self.logTree.indexOfTopLevelItem(itm) - 1)\ 593 self.logTree.indexOfTopLevelItem(itm) - 1)\
639 self.buf = [] 642 self.buf = []
640 self.cancelled = False 643 self.cancelled = False
641 self.errors.clear() 644 self.errors.clear()
642 self.intercept = False 645 self.intercept = False
643 646
647 preargs = []
644 args = [] 648 args = []
645 args.append(self.commandMode) 649 args.append(self.commandMode)
646 self.vcs.addArguments(args, self.vcs.options['global']) 650 self.vcs.addArguments(args, self.vcs.options['global'])
647 self.vcs.addArguments(args, self.vcs.options['log']) 651 self.vcs.addArguments(args, self.vcs.options['log'])
648 args.append('--verbose') 652 args.append('--verbose')
680 args.append(self.bundle) 684 args.append(self.bundle)
681 elif not self.vcs.hasSubrepositories(): 685 elif not self.vcs.hasSubrepositories():
682 project = e5App().getObject("Project") 686 project = e5App().getObject("Project")
683 self.vcs.bundleFile = os.path.join( 687 self.vcs.bundleFile = os.path.join(
684 project.getProjectManagementDir(), "hg-bundle.hg") 688 project.getProjectManagementDir(), "hg-bundle.hg")
685 args.append('--bundle') 689 if os.path.exists(self.vcs.bundleFile):
690 os.remove(self.vcs.bundleFile)
691 preargs = args[:]
692 preargs.append("--quiet")
693 preargs.append('--bundle')
694 preargs.append(self.vcs.bundleFile)
686 args.append(self.vcs.bundleFile) 695 args.append(self.vcs.bundleFile)
687 if not self.projectMode: 696 if not self.projectMode:
688 args.append(self.filename) 697 args.append(self.filename)
689 698
690 if self.__hgClient: 699 if self.__hgClient:
691 self.inputGroup.setEnabled(False) 700 self.inputGroup.setEnabled(False)
692 self.inputGroup.hide() 701 self.inputGroup.hide()
693 702
694 out, err = self.__hgClient.runcommand(args) 703 if preargs:
695 self.buf = out.splitlines(True) 704 out, err = self.__hgClient.runcommand(preargs)
705 else:
706 err = ""
696 if err: 707 if err:
697 self.__showError(err) 708 self.__showError(err)
698 self.__processBuffer() 709 else:
710 out, err = self.__hgClient.runcommand(args)
711 self.buf = out.splitlines(True)
712 if err:
713 self.__showError(err)
714 self.__processBuffer()
699 self.__finish() 715 self.__finish()
700 else: 716 else:
701 self.process.kill() 717 self.process.kill()
702 718
703 self.process.setWorkingDirectory(self.repodir) 719 self.process.setWorkingDirectory(self.repodir)
704 720
705 self.inputGroup.setEnabled(True) 721 self.inputGroup.setEnabled(True)
706 self.inputGroup.show() 722 self.inputGroup.show()
723
724 if preargs:
725 process = QProcess()
726 process.setWorkingDirectory(self.repodir)
727 process.start('hg', args)
728 procStarted = process.waitForStarted(5000)
729 if procStarted:
730 process.waitForFinished(30000)
707 731
708 self.process.start('hg', args) 732 self.process.start('hg', args)
709 procStarted = self.process.waitForStarted(5000) 733 procStarted = self.process.waitForStarted(5000)
710 if not procStarted: 734 if not procStarted:
711 self.inputGroup.setEnabled(False) 735 self.inputGroup.setEnabled(False)

eric ide

mercurial