Long story short, we need to pass the raw argument to processflags() so that it can determine which transform use. This allows to differentiate the regular use case (transform operations such as reading from a remote store in lfs's case) from changegroup generation and debug commands. The only way to not pass the raw argument to revision would be to refactor all flag processing / checkhash out of revision and _addrevision, but that seems like a significant rework in a really core part of revlog.<br><div class="gmail_quote"><div dir="ltr">On Fri, 30 Dec 2016 at 10:38, Augie Fackler <<a href="mailto:raf@durin42.com">raf@durin42.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br class="gmail_msg">
> On Dec 30, 2016, at 5:25 AM, Pierre-Yves David <<a href="mailto:pierre-yves.david@ens-lyon.org" class="gmail_msg" target="_blank">pierre-yves.david@ens-lyon.org</a>> wrote:<br class="gmail_msg">
><br class="gmail_msg">
>> This patch adds a new 'rawrevision()' method setting the 'raw' argument to True<br class="gmail_msg">
>> in the revlog.revision() call that is used to differentiate changegroup<br class="gmail_msg">
>> generation and debugdata related calls to revision() from regular read accesses.<br class="gmail_msg">
><br class="gmail_msg">
> I don't get that part. it seems like 'rawrevision(…)' is just 'revision(…, raw=True)' so I do not understant why we need a new method. Can't we just call 'revision(…, raw=True)' directly. Am I missing something? Otherwise, we should just drop that method.<br class="gmail_msg">
<br class="gmail_msg">
I believe it’s so that we can have extensions hook into either reading of raw revisions or non-raw revisions. In a perfect world, revision() wouldn’t even take a raw= keyword, but I’ve lost too much context this week to help without rereading the whole patch (which I don’t have time for right now.)<br class="gmail_msg">
_______________________________________________<br class="gmail_msg">
Mercurial-devel mailing list<br class="gmail_msg">
<a href="mailto:Mercurial-devel@mercurial-scm.org" class="gmail_msg" target="_blank">Mercurial-devel@mercurial-scm.org</a><br class="gmail_msg">
<a href="https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel" rel="noreferrer" class="gmail_msg" target="_blank">https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel</a><br class="gmail_msg">
</blockquote></div><div dir="ltr">-- <br></div><div data-smartmail="gmail_signature"><div dir="ltr">Rémi</div></div>