This page is primarily intended for developers of Mercurial.

Selective Pull

/!\ This is a speculative project and does not represent any firm decisions on future behavior.

1. Goal

There are certain scalability issues if hg server has many bookmarks. And usually user is only interested in small number of bookmarks. This project will solve these scalability issues by downloading only bookmarks in which user is "interested". By default user may be interested in only one bookmark, for example "master" (it will be configurable). Then if user does "hg pull -B remotebook" or "hg update remotebook" then it's considered that user has shown interest in remotebook and remotebook will be pulled next time.

This project will allow server repos to grow to an arbitrary number of bookmarks without affecting clients performance which in turn will allow to have many scratch branches (for example, one scratch branch per local commit or per code review).

Seems that remotenames extension is a good place for this project.

2. Roadmap


SelectivePullPlan (last edited 2016-08-09 15:26:57 by Stanislau Hlebik)