Comments
Patch
@@ -20,4 +20,10 @@ You can have more than one shelved chang
shelved change has a distinct name. For details, see the help for "hg
shelve".
+
+Config::
+
+ [shelve]
+ # maximum shelved changes per name (active bookmark or branch)
+ maxchanges = 100
"""
from __future__ import absolute_import
@@ -317,5 +323,5 @@ def getshelvename(repo, parent, opts):
def gennames():
yield label
- for i in xrange(1, 100):
+ for i in xrange(1, repo.ui.configint('shelve', 'maxchanges', 100)):
yield '%s-%02d' % (label, i)
What does "%02d" mean? Can we have more than 99 changes?
name = opts.get('name')
@@ -1782,2 +1782,23 @@ mercurial does not crash
$ cd ..
+Config shelve.maxchanges limits how many changes for a name are allowed
+ $ cd $TESTTMP
+ $ hg init maxchanges
+ $ cd maxchanges
+ $ cat >> .hg/hgrc<<EOF
+ > [shelve]
+ > maxchanges=2
+ > EOF
+ $ touch a
+ $ hg ci -m a -A a
+ $ for i in 1 2 3; do
+ > echo $i >> a
+ > hg shelve
+ > done
+ shelved as default
+ 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ shelved as default-01
+ 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ abort: too many shelved changes named 'default'
+ [255]
+