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"), |
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"), |
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 """ |