33 from .HgLogDialog import HgLogDialog |
33 from .HgLogDialog import HgLogDialog |
34 from .HgLogBrowserDialog import HgLogBrowserDialog |
34 from .HgLogBrowserDialog import HgLogBrowserDialog |
35 from .HgDiffDialog import HgDiffDialog |
35 from .HgDiffDialog import HgDiffDialog |
36 from .HgRevisionsSelectionDialog import HgRevisionsSelectionDialog |
36 from .HgRevisionsSelectionDialog import HgRevisionsSelectionDialog |
37 from .HgRevisionSelectionDialog import HgRevisionSelectionDialog |
37 from .HgRevisionSelectionDialog import HgRevisionSelectionDialog |
|
38 from .HgMultiRevisionSelectionDialog import HgMultiRevisionSelectionDialog |
38 from .HgMergeDialog import HgMergeDialog |
39 from .HgMergeDialog import HgMergeDialog |
39 from .HgStatusMonitorThread import HgStatusMonitorThread |
40 from .HgStatusMonitorThread import HgStatusMonitorThread |
40 from .HgStatusDialog import HgStatusDialog |
41 from .HgStatusDialog import HgStatusDialog |
41 from .HgAnnotateDialog import HgAnnotateDialog |
42 from .HgAnnotateDialog import HgAnnotateDialog |
42 from .HgTagDialog import HgTagDialog |
43 from .HgTagDialog import HgTagDialog |
717 Public method used to view the log of a file/directory from the |
718 Public method used to view the log of a file/directory from the |
718 Mercurial repository. |
719 Mercurial repository. |
719 |
720 |
720 @param name file/directory name to show the log of (string) |
721 @param name file/directory name to show the log of (string) |
721 """ |
722 """ |
722 noEntries, ok = QInputDialog.getInteger( |
723 dname, fname = self.splitPath(name) |
723 None, |
724 |
724 self.trUtf8("Mercurial Log"), |
725 # find the root of the repo |
725 self.trUtf8("Select number of entries to show."), |
726 repodir = dname |
726 self.getPlugin().getPreferences("LogLimit"), 1, 999999, 1) |
727 while not os.path.isdir(os.path.join(repodir, self.adminDir)): |
727 if ok: |
728 repodir = os.path.dirname(repodir) |
|
729 if repodir == os.sep: |
|
730 return |
|
731 |
|
732 if self.isExtensionActive("bookmarks"): |
|
733 bookmarksList = \ |
|
734 self.getExtensionObject("bookmarks").hgGetBookmarksList(repodir) |
|
735 else: |
|
736 bookmarksList = None |
|
737 |
|
738 dlg = HgMultiRevisionSelectionDialog( |
|
739 self.hgGetTagsList(repodir), |
|
740 self.hgGetBranchesList(repodir), |
|
741 bookmarksList, |
|
742 emptyRevsOk=True, |
|
743 showLimit=True, |
|
744 limitDefault=self.getPlugin().getPreferences("LogLimit")) |
|
745 if dlg.exec_() == QDialog.Accepted: |
|
746 revs, noEntries = dlg.getRevisions() |
728 self.log = HgLogDialog(self) |
747 self.log = HgLogDialog(self) |
729 self.log.show() |
748 self.log.show() |
730 self.log.start(name, noEntries) |
749 self.log.start(name, noEntries=noEntries, revisions=revs) |
731 |
750 |
732 def vcsDiff(self, name): |
751 def vcsDiff(self, name): |
733 """ |
752 """ |
734 Public method used to view the difference of a file/directory to the |
753 Public method used to view the difference of a file/directory to the |
735 Mercurial repository. |
754 Mercurial repository. |
2000 bookmarksList = None |
2019 bookmarksList = None |
2001 dlg = HgBundleDialog(self.hgGetTagsList(repodir), |
2020 dlg = HgBundleDialog(self.hgGetTagsList(repodir), |
2002 self.hgGetBranchesList(repodir), |
2021 self.hgGetBranchesList(repodir), |
2003 bookmarksList) |
2022 bookmarksList) |
2004 if dlg.exec_() == QDialog.Accepted: |
2023 if dlg.exec_() == QDialog.Accepted: |
2005 rev, compression, all = dlg.getParameters() |
2024 revs, baseRevs, compression, all = dlg.getParameters() |
2006 |
2025 |
2007 fname, selectedFilter = E5FileDialog.getSaveFileNameAndFilter( |
2026 fname, selectedFilter = E5FileDialog.getSaveFileNameAndFilter( |
2008 None, |
2027 None, |
2009 self.trUtf8("Create changegroup"), |
2028 self.trUtf8("Create changegroup"), |
2010 repodir, |
2029 repodir, |
2033 |
2052 |
2034 args = [] |
2053 args = [] |
2035 args.append('bundle') |
2054 args.append('bundle') |
2036 if all: |
2055 if all: |
2037 args.append("--all") |
2056 args.append("--all") |
2038 if rev: |
2057 for rev in revs: |
2039 args.append("--rev") |
2058 args.append("--rev") |
2040 args.append(rev) |
2059 args.append(rev) |
|
2060 for baseRev in baseRevs: |
|
2061 args.append("--base") |
|
2062 args.append(baseRev) |
2041 if compression: |
2063 if compression: |
2042 args.append("--type") |
2064 args.append("--type") |
2043 args.append(compression) |
2065 args.append(compression) |
2044 args.append(fname) |
2066 args.append(fname) |
2045 |
2067 |
2167 repodir = os.path.dirname(repodir) |
2189 repodir = os.path.dirname(repodir) |
2168 if repodir == os.sep: |
2190 if repodir == os.sep: |
2169 return |
2191 return |
2170 |
2192 |
2171 rev = "" |
2193 rev = "" |
2172 if subcommand in ("good", "bad"): |
2194 if subcommand in ("good", "bad", "skip"): |
2173 if self.isExtensionActive("bookmarks"): |
2195 if self.isExtensionActive("bookmarks"): |
2174 bookmarksList = \ |
2196 bookmarksList = \ |
2175 self.getExtensionObject("bookmarks").hgGetBookmarksList(repodir) |
2197 self.getExtensionObject("bookmarks").hgGetBookmarksList(repodir) |
2176 else: |
2198 else: |
2177 bookmarksList = None |
2199 bookmarksList = None |