[PATCH] largefiles: ignore hidden changesets with 'verify --large --lfa'
Pierre-Yves David
pierre-yves.david at ens-lyon.org
Tue Jun 9 13:04:48 CDT 2015
On 06/08/2015 07:55 PM, Matt Harbison wrote:
> On Mon, 08 Jun 2015 22:16:20 -0400, Pierre-Yves David
> <pierre-yves.david at ens-lyon.org> wrote:
>
>>
>>
>> On 06/08/2015 05:52 PM, Matt Harbison wrote:
>>> # HG changeset patch
>>> # User Matt Harbison <matt_harbison at yahoo.com>
>>> # Date 1433643018 14400
>>> # Sat Jun 06 22:10:18 2015 -0400
>>> # Node ID 7beb2d6c7bf755f83293e9780b82a2632fc2918a
>>> # Parent 378a8e700e02794e991d3521423a4f581b635666
>>> largefiles: ignore hidden changesets with 'verify --large --lfa'
>>>
>>> Previously, if there were any hidden changesets, the --lfa argument
>>> would cause
>>> the command to abort with a hint about using --hidden when it tripped
>>> over a
>>> hidden changeset.
>>
>> do you want operation on an unfiltered repository instead?
>
> I thought about it, but I guess there's the potential for a largefile to
> be amended, and the original cset hidden. So why bother verifying the
> hidden file if --hidden isn't specified? It seems that this way, both
> visible and visible + --hidden are possible, depending on what the user
> wants.
hg verify runs on an unfiltered repo, it would be consistent to run this
one on unfiltered repository too. Why would we want something different?
What does --lfa and --large argument do exactly?
>
>>> diff --git a/hgext/largefiles/lfcommands.py
>>> b/hgext/largefiles/lfcommands.py
>>> --- a/hgext/largefiles/lfcommands.py
>>> +++ b/hgext/largefiles/lfcommands.py
>>> @@ -364,9 +364,7 @@
>>> matches the revision ID). With --all, check every changeset in
>>> this repository.'''
>>> if all:
>>> - # Pass a list to the function rather than an iterator
>>> because we know a
>>> - # list will work.
>>> - revs = range(len(repo))
>>> + revs = repo.revs('all()')
>>
>> (in all cases)
>> revs = iter(repo.changelog) ? (not convince it is so much better)
>
> The method 'revs' is passed to does 'len(revs)', which revset handles.
> But this seems to work:
>
> revs = list(repo.changelog)
We could also use repo.changelog. The use of len will makes it a bit
hard to be efficient, but 'all()' is probably you best bet here.
This does not need to changes.
--
Pierre-Yves David
More information about the Mercurial-devel
mailing list