[PATCH] progress: add config knob to control delay before showing nested topics
Augie Fackler
durin42 at gmail.com
Tue Mar 1 01:17:46 UTC 2011
Ignore this, fat-fingered a revision.
On Feb 28, 2011, at 7:16 PM, Augie Fackler wrote:
>
> # HG changeset patch
> # User Augie Fackler <durin42 at gmail.com>
> # Date 1292012724 21600
> # Branch stable
> # Node ID b0ff5859952bf537dfc91dd352bdd2cbf09cd412
> # Parent 117990768fe0a2ed80e5c90505e31ce92e6172a5
> progress: add config knob to control delay before showing nested topics
>
> diff --git a/hgext/progress.py b/hgext/progress.py
> --- a/hgext/progress.py
> +++ b/hgext/progress.py
> @@ -27,6 +27,7 @@
>
> [progress]
> delay = 3 # number of seconds (float) before showing the progress bar
> + nestdelay = 0.5 # time to wait before showing a nested progress topic
> refresh = 0.1 # time in seconds between refreshes of the progress bar
> format = topic bar number estimate # format of the progress bar
> width = <none> # if set, the maximum width of the progress information
> @@ -232,6 +233,14 @@
> if topic in self.topics:
> self.topics = self.topics[:self.topics.index(topic)]
> else:
> + if self.topics:
> + if topic in self.pendingtopics:
> + if self.pendingtopics[topic] > time.time():
> + return
> + else:
> + self.pendingtopics[topic] = time.time() + float(
> + self.ui.config('progress', 'nestdelay', default=0.5))
> + return
> if topic not in self.topics:
> self.starttimes[topic] = now
> self.startvals[topic] = pos
> diff --git a/tests/test-convert-svn-move.t b/tests/test-convert-svn-move.t
> --- a/tests/test-convert-svn-move.t
> +++ b/tests/test-convert-svn-move.t
> @@ -166,6 +166,7 @@
>> progress =
>> [progress]
>> assume-tty = 1
> + > nestdelay = 0
>> delay = 0
>> format = topic bar number
>> refresh = 0
> diff --git a/tests/test-patchbomb.t b/tests/test-patchbomb.t
> --- a/tests/test-patchbomb.t
> +++ b/tests/test-patchbomb.t
> @@ -158,8 +158,9 @@
>
> $ hg email -m test.mbox -f quux -t foo -c bar -s test 0:tip \
>> --config extensions.progress= --config progress.assume-tty=1 \
> - > --config progress.delay=0 --config progress.refresh=0
> - This patch series consists of 2 patches.
> + > --config progress.delay=0 --config progress.refresh=0 \
> + > --config progress.nestdelay=0
> + \rwriting [ ] 0/3\rwriting [ ] 0/3\r \r\r \r\rwriting [====================> ] 1/3\rwriting [====================> ] 1/3\r \r\r \r\rwriting [==========================================> ] 2/3\rwriting [==========================================> ] 2/3\r \rThis patch series consists of 2 patches. (esc)
>
>
> Write the introductory message for the patch series.
> diff --git a/tests/test-progress.t b/tests/test-progress.t
> --- a/tests/test-progress.t
> +++ b/tests/test-progress.t
> @@ -9,16 +9,24 @@
>> total = loops
>> if opts.get('total', None):
>> total = int(opts.get('total'))
> + > nested = False
> + > if opts.get('nested', None):
> + > nested = True
>> loops = abs(loops)
>>
>> for i in range(loops):
>> ui.progress('loop', i, 'loop.%d' % i, 'loopnum', total)
> + > if nested:
> + > for j in range(2):
> + > ui.progress('nested', j, 'nested.%d' % j, 'nestnum', 2)
> + > ui.progress('nested', None, 'nested.done', 'nestnum', 2)
>> ui.progress('loop', None, 'loop.done', 'loopnum', total)
>>
>> commands.norepo += " loop"
>>
>> cmdtable = {
> - > "loop": (loop, [('', 'total', '', 'override for total')],
> + > "loop": (loop, [('', 'total', '', 'override for total'),
> + > ('', 'nested', False, 'show nested results')],
>> 'hg loop LOOPS'),
>> }
>> EOF
> @@ -42,6 +50,16 @@
>
> $ hg -y loop 3 2>&1 | $TESTDIR/filtercr.py
>
> + loop [ ] 0/3
> + loop [=====================> ] 1/3
> + loop [============================================> ] 2/3
> + \r (esc)
> +
> +
> +test nested short-lived topics (which shouldn't display):
> +
> + $ hg --config progress.nestdelay=100 -y loop 3 --nested 2>&1 | python filtercr.py
> +
> loop [ ] 0/3
> loop [===============> ] 1/3
> loop [===============================> ] 2/3
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
> http://selenic.com/mailman/listinfo/mercurial-devel
More information about the Mercurial-devel
mailing list