changeset 38601:a936d1368fc5

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
author Joerg Sonnenberger <joerg@bec.de>
date Fri, 06 Jul 2018 17:57:46 +0200
parents f9805627af1f
children af8d8513d7de
files mercurial/configitems.py mercurial/context.py mercurial/help/config.txt tests/test-largefiles.t
diffstat 4 files changed, 12 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/configitems.py	Sat Jun 09 18:26:04 2018 +0900
+++ b/mercurial/configitems.py	Fri Jul 06 17:57:46 2018 +0200
@@ -1090,6 +1090,9 @@
 coreconfigitem('ui', 'interface.chunkselector',
     default=None,
 )
+coreconfigitem('ui', 'large-file-limit',
+    default=10000000,
+)
 coreconfigitem('ui', 'logblockedtimes',
     default=False,
 )
--- a/mercurial/context.py	Sat Jun 09 18:26:04 2018 +0900
+++ b/mercurial/context.py	Fri Jul 06 17:57:46 2018 +0200
@@ -1341,7 +1341,8 @@
                     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 "
--- a/mercurial/help/config.txt	Sat Jun 09 18:26:04 2018 +0900
+++ b/mercurial/help/config.txt	Fri Jul 06 17:57:46 2018 +0200
@@ -2138,6 +2138,11 @@
     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.
 
--- a/tests/test-largefiles.t	Sat Jun 09 18:26:04 2018 +0900
+++ b/tests/test-largefiles.t	Fri Jul 06 17:57:46 2018 +0200
@@ -1860,6 +1860,8 @@
   $ 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.