[PATCH 1 of 5 evolve-ext] evolve: don't use python sets on top of revset for evolve --rev
Pierre-Yves David
pierre-yves.david at ens-lyon.org
Wed May 13 19:12:41 CDT 2015
On 05/13/2015 10:04 AM, Laurent Charignon wrote:
> # HG changeset patch
> # User Laurent Charignon <lcharignon at fb.com>
> # Date 1431532991 25200
> # Wed May 13 09:03:11 2015 -0700
> # Node ID 08577d19560731490ddf3446ebe785ce3219b52a
> # Parent 5e82d78f5872c9503d7b6691c594a13794a9b4a4
> evolve: don't use python sets on top of revset for evolve --rev
>
> In --rev we were wrapping the revsets in python sets.
> This is wrong as the use python sets force the wrapper revision set to be
> computed earlier than it has to and have no order guarantee.
> Removing this wrapping changes a test because the ordering does not appear to
> be the same but the end result is the same.
>
> diff --git a/hgext/evolve.py b/hgext/evolve.py
> --- a/hgext/evolve.py
> +++ b/hgext/evolve.py
> @@ -1303,20 +1303,16 @@
> return graftcmd(ui, repo, old_obsolete=True, **{'continue': True})
> # Rev specified on the commands line
> if revopt:
> - revs = set(repo.revs(revopt))
> - troubled = set(repo.revs('troubled()'))
> + revs = repo.revs(revopt)
> + troubled = repo.revs('troubled()')
This is greate
> _revs = revs & troubled
> if not _revs:
> ui.write_err("No troubled changes in the specified revset")
> else:
> - # For the progress bar to show
> - count = len(_revs)
> for rev in _revs:
> - progresscb()
> _solveone(ui, repo, repo[rev], dryrunopt, confirmopt,
> progresscb)
> seen += 1
> - progresscb()
Wait, what? Why are we dropping the progress callback in the process?
I extracted that part and pushed the result.
--
Pierre-Yves David
More information about the Mercurial-devel
mailing list