10 import os |
10 import os |
11 |
11 |
12 from PyQt4.QtCore import pyqtSlot, QProcess, SIGNAL, QTimer, QUrl, QByteArray |
12 from PyQt4.QtCore import pyqtSlot, QProcess, SIGNAL, QTimer, QUrl, QByteArray |
13 from PyQt4.QtGui import QWidget, QDialogButtonBox, QApplication, QMessageBox, \ |
13 from PyQt4.QtGui import QWidget, QDialogButtonBox, QApplication, QMessageBox, \ |
14 QLineEdit, QTextCursor |
14 QLineEdit, QTextCursor |
|
15 |
|
16 from E5Gui.E5Application import e5App |
15 |
17 |
16 from .Ui_HgLogDialog import Ui_HgLogDialog |
18 from .Ui_HgLogDialog import Ui_HgLogDialog |
17 from .HgDiffDialog import HgDiffDialog |
19 from .HgDiffDialog import HgDiffDialog |
18 |
20 |
19 import Utilities |
21 import Utilities |
110 self.vcs.addArguments(args, self.vcs.options['global']) |
112 self.vcs.addArguments(args, self.vcs.options['global']) |
111 self.vcs.addArguments(args, self.vcs.options['log']) |
113 self.vcs.addArguments(args, self.vcs.options['log']) |
112 if noEntries: |
114 if noEntries: |
113 args.append('--limit') |
115 args.append('--limit') |
114 args.append(str(noEntries)) |
116 args.append(str(noEntries)) |
|
117 if self.mode in ("incoming", "outgoing"): |
|
118 args.append("--newest-first") |
115 if self.mode == "log": |
119 if self.mode == "log": |
116 args.append('--copies') |
120 args.append('--copies') |
117 args.append('--style') |
121 args.append('--style') |
118 args.append(os.path.join(os.path.dirname(__file__), "styles", "logDialog.style")) |
122 args.append(os.path.join(os.path.dirname(__file__), "styles", "logDialog.style")) |
|
123 if self.mode == "incoming": |
|
124 project = e5App().getObject("Project") |
|
125 self.vcs.bundleFile = os.path.join( |
|
126 project.getProjectManagementDir(), "hg-bundle.hg") |
|
127 args.append('--bundle') |
|
128 args.append(self.vcs.bundleFile) |
119 if self.fname != "." or self.dname != repodir: |
129 if self.fname != "." or self.dname != repodir: |
120 args.append(self.filename) |
130 args.append(self.filename) |
121 |
131 |
122 self.process.setWorkingDirectory(repodir) |
132 self.process.setWorkingDirectory(repodir) |
123 |
133 |
170 rev, hexRev = value.split(":") |
180 rev, hexRev = value.split(":") |
171 dstr = '<p><b>{0} {1}</b>'.format(self.revString, value) |
181 dstr = '<p><b>{0} {1}</b>'.format(self.revString, value) |
172 try: |
182 try: |
173 lv = self.revisions[lvers] |
183 lv = self.revisions[lvers] |
174 lvers += 1 |
184 lvers += 1 |
|
185 except IndexError: |
|
186 lv = str(int(rev) - 1) |
|
187 if rev != "0": |
175 url = QUrl() |
188 url = QUrl() |
176 url.setScheme("file") |
189 url.setScheme("file") |
177 url.setPath(self.filename) |
190 url.setPath(self.filename) |
178 query = QByteArray() |
191 query = QByteArray() |
179 query.append(lv.split(":")[0]).append('_').append(rev) |
192 query.append(lv.split(":")[0]).append('_').append(rev) |
181 dstr += ' [<a href="{0}" name="{1}" id="{1}">{2}</a>]'.format( |
194 dstr += ' [<a href="{0}" name="{1}" id="{1}">{2}</a>]'.format( |
182 url.toString(), |
195 url.toString(), |
183 str(query, encoding="ascii"), |
196 str(query, encoding="ascii"), |
184 self.trUtf8('diff to {0}').format(lv), |
197 self.trUtf8('diff to {0}').format(lv), |
185 ) |
198 ) |
186 except IndexError: |
|
187 pass |
|
188 dstr += '<br />\n' |
199 dstr += '<br />\n' |
189 self.contents.insertHtml(dstr) |
200 self.contents.insertHtml(dstr) |
190 elif key == "branches": |
201 elif key == "branches": |
191 if value.strip(): |
202 if value.strip(): |
192 self.contents.insertHtml(self.trUtf8("Branches: {0}<br />\n")\ |
203 self.contents.insertHtml(self.trUtf8("Branches: {0}<br />\n")\ |