Changeset 37bce9d5ea7e…
Parent 7ad9d0a2c7b3…
by
Changes to 2 files · Browse files at 37bce9d5ea7e Showing diff from parent 7ad9d0a2c7b3 Diff from another changeset...
@@ -268,6 +268,7 @@ sw.outgoingNodes.connect(self.setOutgoingNodes)
sw.showMessage.connect(self.showMessage)
sw.incomingBundle.connect(self.setBundle)
+ sw.pullCompleted.connect(self.onPullCompleted)
sw.refreshTargets(self.rev)
return sw
@@ -310,24 +311,35 @@ self.revDetailsWidget.setRepo(self.repo)
self.manifestDemand.forward('setRepo', self.repo)
+ def onPullCompleted(self):
+ if self.bundle:
+ # create a new bundlerepo instance; revision numbers may change
+ brepo = thgrepo.repository(self.repo.ui, self.repo.root,
+ bundle=self.bundle)
+ repo = thgrepo.repository(self.repo.ui, self.repo.root)
+ if len(repo) == len(brepo):
+ # all bundle revisions pulled
+ self.clearBundle()
+ self.reload()
+ else:
+ # refresh revset with remaining revisions
+ self.revset = range(len(repo), len(brepo))
+ self.repo = brepo
+ self.repoview.setRepo(brepo)
+ self.revDetailsWidget.setRepo(brepo)
+ self.manifestDemand.forward('setRepo', brepo)
+ self.reload()
+ self.repomodel.revset = self.revset
+ self.repoview.resetBrowseHistory(self.revset)
+ self._reload_rev = self.revset[0]
+
def acceptBundle(self):
self.taskTabsWidget.setCurrentIndex(self.syncTabIndex)
self.syncDemand.pullBundle(self.bundle, None)
- self.clearBundle()
def pullBundleToRev(self):
self.taskTabsWidget.setCurrentIndex(self.syncTabIndex)
self.syncDemand.pullBundle(self.bundle, self.rev)
- removed = [self.repo[self.rev]]
- while removed:
- ctx = removed.pop()
- if ctx.rev() in self.revset:
- self.revset.remove(ctx.rev())
- removed.extend(ctx.parents())
- self.repomodel.revset = self.revset
- if not self.revset:
- self.clearBundle()
- self.refresh()
def rejectBundle(self):
self.clearBundle()
|
@@ -56,6 +56,7 @@ outgoingNodes = pyqtSignal(object)
incomingBundle = pyqtSignal(QString)
showMessage = pyqtSignal(unicode)
+ pullCompleted = pyqtSignal()
output = pyqtSignal(QString, QString)
progress = pyqtSignal(QString, object, QString, QString, object)
@@ -716,6 +717,7 @@ self.showMessage.emit(_('Pull from %s completed') % urlu)
else:
self.showMessage.emit(_('Pull from %s aborted, ret %d') % (urlu, ret))
+ self.pullCompleted.emit()
# handle file conflicts during rebase
if self.opts.get('rebase'):
if os.path.exists(self.repo.join('rebasestate')):
|
Loading...