# HG changeset patch # User Joerg Sonnenberger # Date 2018-07-06 15:57:46 # Node ID a936d1368fc5c54dadb9ebae3621657b2bcf5e4c # Parent f9805627af1f28230c821840f50f07ced957e9ed ui: make the large file warning limit fully configurable While add --large can be used to override it selectively, often enough the user simply doesn't care about machines with less than 100MB RAM or so, so make it possible to just specify a larger limit in hgrc. Differential Revision: https://phab.mercurial-scm.org/D3893 diff --git a/mercurial/configitems.py b/mercurial/configitems.py --- a/mercurial/configitems.py +++ b/mercurial/configitems.py @@ -1090,6 +1090,9 @@ coreconfigitem('ui', 'interface', coreconfigitem('ui', 'interface.chunkselector', default=None, ) +coreconfigitem('ui', 'large-file-limit', + default=10000000, +) coreconfigitem('ui', 'logblockedtimes', default=False, ) diff --git a/mercurial/context.py b/mercurial/context.py --- a/mercurial/context.py +++ b/mercurial/context.py @@ -1341,7 +1341,8 @@ class workingctx(committablectx): ui.warn(_("%s does not exist!\n") % uipath(f)) rejected.append(f) continue - if st.st_size > 10000000: + limit = ui.configbytes('ui', 'large-file-limit') + if limit != 0 and st.st_size > limit: ui.warn(_("%s: up to %d MB of RAM may be required " "to manage this file\n" "(use 'hg revert %s' to cancel the " diff --git a/mercurial/help/config.txt b/mercurial/help/config.txt --- a/mercurial/help/config.txt +++ b/mercurial/help/config.txt @@ -2138,6 +2138,11 @@ User interface controls. Possible values are 'text' and 'curses'. This config overrides the interface specified by ui.interface. +``large-file-limit`` + Largest file size that gives no memory use warning. + Possible values are integers or 0 to disable the check. + (default: 10000000) + ``logtemplate`` Template string for commands that print changesets. diff --git a/tests/test-largefiles.t b/tests/test-largefiles.t --- a/tests/test-largefiles.t +++ b/tests/test-largefiles.t @@ -1860,6 +1860,8 @@ Test --normal flag $ hg add --normal new-largefile new-largefile: up to 69 MB of RAM may be required to manage this file (use 'hg revert new-largefile' to cancel the pending addition) + $ hg revert new-largefile + $ hg --config ui.large-file-limit=22M add --normal new-largefile Test explicit commit of switch between normal and largefile - make sure both the add and the remove is committed.