diff -r b852fe4d153a -r 1843ef6e2656 Plugins/VcsPlugins/vcsSubversion/ProjectBrowserHelper.py --- a/Plugins/VcsPlugins/vcsSubversion/ProjectBrowserHelper.py Mon Aug 12 19:41:53 2013 +0200 +++ b/Plugins/VcsPlugins/vcsSubversion/ProjectBrowserHelper.py Mon Aug 12 22:21:53 2013 +0200 @@ -254,10 +254,17 @@ act = menu.addAction(UI.PixmapCache.getIcon("vcsDiff.png"), self.trUtf8('Show difference'), self._VCSDiff) self.vcsMenuActions.append(act) + act = menu.addAction(UI.PixmapCache.getIcon("vcsSbsDiff.png"), + self.trUtf8('Show difference side-by-side'), self.__SVNSbsDiff) + self.vcsMenuActions.append(act) act = menu.addAction(UI.PixmapCache.getIcon("vcsDiff.png"), self.trUtf8('Show difference (extended)'), self.__SVNExtendedDiff) self.vcsMenuActions.append(act) + act = menu.addAction(UI.PixmapCache.getIcon("vcsSbsDiff.png"), + self.trUtf8('Show difference side-by-side (extended)'), + self.__SVNSbsExtendedDiff) + self.vcsMenuActions.append(act) act = menu.addAction(UI.PixmapCache.getIcon("vcsDiff.png"), self.trUtf8('Show difference (URLs)'), self.__SVNUrlDiff) @@ -763,6 +770,24 @@ names.append(itm.dirName()) self.vcs.svnUrlDiff(names) + def __SVNSbsDiff(self): + """ + Private slot called by the context menu to show the difference of a file to + the repository side-by-side. + """ + itm = self.browser.currentItem() + fn = itm.fileName() + self.vcs.svnSbsDiff(fn) + + def __SVNSbsExtendedDiff(self): + """ + Private slot called by the context menu to show the difference of a file to + the repository side-by-side allowing the selection of revisions to compare. + """ + itm = self.browser.currentItem() + fn = itm.fileName() + self.vcs.svnSbsDiff(fn, extended=True) + def __SVNLogBrowser(self): """ Private slot called by the context menu to show the log browser for a file. @@ -770,9 +795,11 @@ itm = self.browser.currentItem() try: fn = itm.fileName() + isFile = True except AttributeError: fn = itm.dirName() - self.vcs.svnLogBrowser(fn) + isFile = False + self.vcs.svnLogBrowser(fn, isFile=isFile) def __SVNBlame(self): """