mirror of
https://github.com/facebook/sapling.git
synced 2024-10-06 23:07:18 +03:00
crecord: throws error instead of crashing for large diffs
Before this patch, crecord was crashing for large diffs (30k lines on my laptop). This patch catches the exception raised in that case and use the error reporting mechanism introduced in the previous patch for notifying the user of the issue. It is not possible to add a test for that for now as we don't yet have full blown ui tests for the curses interface.
This commit is contained in:
parent
678b69749a
commit
f9a0bb5c34
@ -1612,8 +1612,12 @@ are you sure you want to review/edit and confirm the selected changes [yn]?
|
||||
|
||||
# add 1 so to account for last line text reaching end of line
|
||||
self.numpadlines = self.getnumlinesdisplayed(ignorefolding=True) + 1
|
||||
self.chunkpad = curses.newpad(self.numpadlines, self.xscreensize)
|
||||
|
||||
try:
|
||||
self.chunkpad = curses.newpad(self.numpadlines, self.xscreensize)
|
||||
except curses.error:
|
||||
self.initerr = _('this diff is too large to be displayed')
|
||||
return
|
||||
# initialize selecteitemendline (initial start-line is 0)
|
||||
self.selecteditemendline = self.getnumlinesdisplayed(
|
||||
self.currentselecteditem, recursechildren=False)
|
||||
|
Loading…
Reference in New Issue
Block a user