<div dir="ltr">Interesting. Are you considering a mode where folks can explicitly say they want everything locally that descends from a specific set of revisions? Then it would not only help performance but also help folks who want to work offline on a large repo.<div>

--peter</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Jun 18, 2013 at 10:37 AM, Durham Goode <span dir="ltr"><<a href="mailto:durham@fb.com" target="_blank">durham@fb.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Unfortunately no. The extension is still in development and isn't publicly<br>
available yet. I'm hopeful that I can open source it for feedback sometime<br>
in Q3 (i.e. between now and September).<br>
<br>
The basic gist of the extension is to keep all the filelog history<br>
remotely and fetch it on demand, while keeping the entire changelog and<br>
manifest history locally so most commands don't need to hit the server.<br>
This has several performance benefits on large repositories (clone time,<br>
pull time, rebase/amend time) and I'm treating file revisions as key/value<br>
pairs so it makes caching and storage easier.<br>
<br>
Durham<br>
<br>
On 6/18/13 10:19 AM, "Peter Arrenbrecht" <<a href="mailto:peter.arrenbrecht@gmail.com">peter.arrenbrecht@gmail.com</a>><br>
wrote:<br>
<div class="HOEnZb"><div class="h5"><br>
>Hi Durham, are any details on your shallow repo extension available<br>
>somewhere?<br>
><br>
><br>
>Thanks,<br>
>--peter<br>
><br>
><br>
><br>
>On Fri, May 31, 2013 at 7:19 PM, Durham Goode<br>
><<a href="mailto:durham@fb.com">durham@fb.com</a>> wrote:<br>
><br>
># HG changeset patch<br>
># User Durham Goode <<a href="mailto:durham@fb.com">durham@fb.com</a>><br>
># Date 1369961473 25200<br>
>#      Thu May 30 17:51:13 2013 -0700<br>
># Node ID 036972b09c16295c000847ba359193858e7b3a4d<br>
># Parent  66c552d6910908070552d1a1c41d729932b8b111<br>
>bundle: refactor changegroup prune to be its own function<br>
><br>
>Moving the prune function to be a non-nested function allows extensions to<br>
>control which revisions are allowed in the changegroup. For example, in my<br>
>shallow repo extension I want to prevent filelogs from being added to the<br>
>bundle.<br>
><br>
>This also allows an extension to use a filelog implementation that doesn't<br>
>have revlog.linkrev implemented.<br>
<br>
</div></div></blockquote></div><br></div>