<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Apr 16, 2019 at 3:37 PM Pierre-Yves David <<a href="mailto:pierre-yves.david@ens-lyon.org">pierre-yves.david@ens-lyon.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
<br>
On 4/16/19 12:56 PM, Gregory Szorc wrote:<br>
> On Tue, Apr 16, 2019 at 4:54 AM Gregory Szorc <<a href="mailto:gregory.szorc@gmail.com" target="_blank">gregory.szorc@gmail.com</a> <br>
> <mailto:<a href="mailto:gregory.szorc@gmail.com" target="_blank">gregory.szorc@gmail.com</a>>> wrote:<br>
> <br>
> On Sat, Apr 13, 2019 at 5:56 PM Pierre-Yves David<br>
> <<a href="mailto:pierre-yves.david@ens-lyon.org" target="_blank">pierre-yves.david@ens-lyon.org</a><br>
> <mailto:<a href="mailto:pierre-yves.david@ens-lyon.org" target="_blank">pierre-yves.david@ens-lyon.org</a>>> wrote:<br>
> <br>
> # HG changeset patch<br>
> # User Pierre-Yves David <<a href="mailto:pierre-yves.david@octobus.net" target="_blank">pierre-yves.david@octobus.net</a><br>
> <mailto:<a href="mailto:pierre-yves.david@octobus.net" target="_blank">pierre-yves.david@octobus.net</a>>><br>
> # Date 1554472565 -7200<br>
> # Fri Apr 05 15:56:05 2019 +0200<br>
> # Node ID 0adcfded9b03fff84190594ef29e37110967419f<br>
> # Parent d5f42ea7b06825ee86620cdc18aaa3a53504bff5<br>
> # EXP-Topic hgweb-obsolete<br>
> # Available At <a href="https://bitbucket.org/octobus/mercurial-devel/" rel="noreferrer" target="_blank">https://bitbucket.org/octobus/mercurial-devel/</a><br>
> # hg pull<br>
> <a href="https://bitbucket.org/octobus/mercurial-devel/" rel="noreferrer" target="_blank">https://bitbucket.org/octobus/mercurial-devel/</a> -r 0adcfded9b03<br>
> pull: deal with locally filtered changeset passed into --rev<br>
> <br>
> Nowadays, it is possible to explicitly pull a remote revision<br>
> that end up being<br>
> hidden locally (eg: obsoleted locally). However before this<br>
> patch, some<br>
> internal processing where crashing trying to resolve a filtered<br>
> revision.<br>
> <br>
> Without this patches, the pull output result a confusing output:<br>
> <br>
> $ hg pull ../repo-Bob --rev 956063ac4557<br>
> pulling from ../repo-Bob<br>
> searching for changes<br>
> adding changesets<br>
> adding manifests<br>
> adding file changes<br>
> added 2 changesets with 0 changes to 2 files (+1 heads)<br>
> (2 other changesets obsolete on arrival)<br>
> abort:<br>
> 00changelog.i@956063ac4557828781733b2d5677a351ce856f59: filtered<br>
> node!<br>
> <br>
> <br>
> The existing abort message is bad and should be improved because<br>
> typical users won't have a clue what it means.<br>
> <br>
> But I have reservations about this patch because it isn't clear what<br>
> will happen with `pull -u -r <hidden>`. If the working directory<br>
> will be updated to a hidden revision without --hidden specified,<br>
> this feels wrong to me.<br>
> <br>
> <br>
> Oh - maybe part 5 (and later?) address my concerns?<br>
<br>
It does. Regarding the abort message. I know we have a better message <br>
available for this kind of error. I am not sure why that better message <br>
is not used here and I intend to dig into that next cycle (there are a <br>
couple of usual suspect: wrong exception types, bits still in evolve <br>
extension, etc…)<br>
<br>
> Could we get test coverage showing what happens in this case? Please<br>
> also check for behavior with `hg clone -r <hidden>` and `hg clone -u<br>
> <rev>` as well.<br>
<br>
(as you already noticed, this is addressed in the next patch).<br></blockquote><div><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Queued 4 and 5. Many thanks!</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
> Also, I'm a little confused about "checkout" and "brev" both doing<br>
> similar things. It seems that "checkout" is used internally and<br>
> "brev" is used for user-facing output. I wish this code were better<br>
> documented. But that is scope bloat...<br>
<br>
+1<br></blockquote><div><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">I also tried to understand and was not successful. Maybe hg.addbranchrevs() needs docs.</div></div></div>