Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py

changeset 207
3f889378dede
parent 204
61552f56788a
child 209
94e34c41e823
equal deleted inserted replaced
206:e24ba21c6d3a 207:3f889378dede
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")\

eric ide

mercurial