eric6/Plugins/VcsPlugins/vcsMercurial/HgStatusDialog.py

changeset 7979
54b73174ab61
parent 7970
c4ee8a81584c
child 8143
2c730d5fd177
equal deleted inserted replaced
7978:1e391f977124 7979:54b73174ab61
310 self.setWindowTitle(self.tr('Mercurial Status')) 310 self.setWindowTitle(self.tr('Mercurial Status'))
311 311
312 args = self.vcs.initCommand("status") 312 args = self.vcs.initCommand("status")
313 if self.__mq: 313 if self.__mq:
314 args.append('--mq') 314 args.append('--mq')
315 if isinstance(fn, list):
316 self.dname, fnames = self.vcs.splitPathList(fn)
317 else:
318 self.dname, fname = self.vcs.splitPath(fn)
319 else: 315 else:
320 if self.vcs.hasSubrepositories(): 316 if self.vcs.hasSubrepositories():
321 args.append("--subrepos") 317 args.append("--subrepos")
322 318
323 if isinstance(fn, list): 319 if isinstance(fn, list):
324 self.dname, fnames = self.vcs.splitPathList(fn)
325 self.vcs.addArguments(args, fn) 320 self.vcs.addArguments(args, fn)
326 else: 321 else:
327 self.dname, fname = self.vcs.splitPath(fn)
328 args.append(fn) 322 args.append(fn)
329 323
330 self.refreshButton.setEnabled(False) 324 self.refreshButton.setEnabled(False)
325
326 self.__repoPath = self.__hgClient.getRepository()
331 327
332 out, err = self.__hgClient.runcommand(args) 328 out, err = self.__hgClient.runcommand(args)
333 if err: 329 if err:
334 self.__showError(err) 330 self.__showError(err)
335 if out: 331 if out:
488 def __commit(self): 484 def __commit(self):
489 """ 485 """
490 Private slot to handle the Commit context menu entry. 486 Private slot to handle the Commit context menu entry.
491 """ 487 """
492 if self.__mq: 488 if self.__mq:
493 self.vcs.vcsCommit(self.dname, "", mq=True) 489 self.vcs.vcsCommit(self.__repoPath, "", mq=True)
494 else: 490 else:
495 names = [os.path.join(self.dname, itm.text(self.__pathColumn)) 491 names = [os.path.join(self.__repoPath, itm.text(self.__pathColumn))
496 for itm in self.__getCommitableItems()] 492 for itm in self.__getCommitableItems()]
497 if not names: 493 if not names:
498 E5MessageBox.information( 494 E5MessageBox.information(
499 self, 495 self,
500 self.tr("Commit"), 496 self.tr("Commit"),
530 526
531 def __add(self): 527 def __add(self):
532 """ 528 """
533 Private slot to handle the Add context menu entry. 529 Private slot to handle the Add context menu entry.
534 """ 530 """
535 names = [os.path.join(self.dname, itm.text(self.__pathColumn)) 531 names = [os.path.join(self.__repoPath, itm.text(self.__pathColumn))
536 for itm in self.__getUnversionedItems()] 532 for itm in self.__getUnversionedItems()]
537 if not names: 533 if not names:
538 E5MessageBox.information( 534 E5MessageBox.information(
539 self, 535 self,
540 self.tr("Add"), 536 self.tr("Add"),
554 """ 550 """
555 Private slot to add a file to the repository. 551 Private slot to add a file to the repository.
556 552
557 @param mode add mode (string one of 'normal' or 'large') 553 @param mode add mode (string one of 'normal' or 'large')
558 """ 554 """
559 names = [os.path.join(self.dname, itm.text(self.__pathColumn)) 555 names = [os.path.join(self.__repoPath, itm.text(self.__pathColumn))
560 for itm in self.__getUnversionedItems()] 556 for itm in self.__getUnversionedItems()]
561 if not names: 557 if not names:
562 E5MessageBox.information( 558 E5MessageBox.information(
563 self, 559 self,
564 self.tr("Add"), 560 self.tr("Add"),
577 573
578 def __forget(self): 574 def __forget(self):
579 """ 575 """
580 Private slot to handle the Remove context menu entry. 576 Private slot to handle the Remove context menu entry.
581 """ 577 """
582 names = [os.path.join(self.dname, itm.text(self.__pathColumn)) 578 names = [os.path.join(self.__repoPath, itm.text(self.__pathColumn))
583 for itm in self.__getMissingItems()] 579 for itm in self.__getMissingItems()]
584 if not names: 580 if not names:
585 E5MessageBox.information( 581 E5MessageBox.information(
586 self, 582 self,
587 self.tr("Remove"), 583 self.tr("Remove"),
594 590
595 def __revert(self): 591 def __revert(self):
596 """ 592 """
597 Private slot to handle the Revert context menu entry. 593 Private slot to handle the Revert context menu entry.
598 """ 594 """
599 names = [os.path.join(self.dname, itm.text(self.__pathColumn)) 595 names = [os.path.join(self.__repoPath, itm.text(self.__pathColumn))
600 for itm in self.__getModifiedItems()] 596 for itm in self.__getModifiedItems()]
601 if not names: 597 if not names:
602 E5MessageBox.information( 598 E5MessageBox.information(
603 self, 599 self,
604 self.tr("Revert"), 600 self.tr("Revert"),
618 614
619 def __restoreMissing(self): 615 def __restoreMissing(self):
620 """ 616 """
621 Private slot to handle the Restore Missing context menu entry. 617 Private slot to handle the Restore Missing context menu entry.
622 """ 618 """
623 names = [os.path.join(self.dname, itm.text(self.__pathColumn)) 619 names = [os.path.join(self.__repoPath, itm.text(self.__pathColumn))
624 for itm in self.__getMissingItems()] 620 for itm in self.__getMissingItems()]
625 if not names: 621 if not names:
626 E5MessageBox.information( 622 E5MessageBox.information(
627 self, 623 self,
628 self.tr("Revert"), 624 self.tr("Revert"),
636 632
637 def __diff(self): 633 def __diff(self):
638 """ 634 """
639 Private slot to handle the Diff context menu entry. 635 Private slot to handle the Diff context menu entry.
640 """ 636 """
641 names = [os.path.join(self.dname, itm.text(self.__pathColumn)) 637 names = [os.path.join(self.__repoPath, itm.text(self.__pathColumn))
642 for itm in self.__getModifiedItems()] 638 for itm in self.__getModifiedItems()]
643 if not names: 639 if not names:
644 E5MessageBox.information( 640 E5MessageBox.information(
645 self, 641 self,
646 self.tr("Differences"), 642 self.tr("Differences"),
656 652
657 def __sbsDiff(self): 653 def __sbsDiff(self):
658 """ 654 """
659 Private slot to handle the Diff context menu entry. 655 Private slot to handle the Diff context menu entry.
660 """ 656 """
661 names = [os.path.join(self.dname, itm.text(self.__pathColumn)) 657 names = [os.path.join(self.__repoPath, itm.text(self.__pathColumn))
662 for itm in self.__getModifiedItems()] 658 for itm in self.__getModifiedItems()]
663 if not names: 659 if not names:
664 E5MessageBox.information( 660 E5MessageBox.information(
665 self, 661 self,
666 self.tr("Side-by-Side Diff"), 662 self.tr("Side-by-Side Diff"),
760 756
761 def __commitMerge(self): 757 def __commitMerge(self):
762 """ 758 """
763 Private slot to handle the Commit Merge context menu entry. 759 Private slot to handle the Commit Merge context menu entry.
764 """ 760 """
765 self.vcs.vcsCommit(self.dname, self.tr('Merge'), merge=True) 761 self.vcs.vcsCommit(self.__repoPath, self.tr('Merge'), merge=True)
766 self.__committed() 762 self.__committed()
767 763
768 def __abortMerge(self): 764 def __abortMerge(self):
769 """ 765 """
770 Private slot used to abort an uncommitted merge. 766 Private slot used to abort an uncommitted merge.
784 self.diffHighlighter.regenerateRules() 780 self.diffHighlighter.regenerateRules()
785 781
786 if not self.__mq: 782 if not self.__mq:
787 selectedItems = self.statusList.selectedItems() 783 selectedItems = self.statusList.selectedItems()
788 if len(selectedItems) == 1: 784 if len(selectedItems) == 1:
789 fn = os.path.join(self.dname, 785 fn = os.path.join(self.__repoPath,
790 selectedItems[0].text(self.__pathColumn)) 786 selectedItems[0].text(self.__pathColumn))
791 self.__diffGenerator.start(fn) 787 self.__diffGenerator.start(fn)
792 788
793 def __generatorFinished(self): 789 def __generatorFinished(self):
794 """ 790 """

eric ide

mercurial