Announcing hgwebcachingproxy and dynapath
Mads Kiilerich
madski at unity3d.com
Wed Nov 6 13:24:13 CST 2013
Hi Mercurial
We have started using a hgweb proxy mirror thingie to "solve" the
problem of having branch offices with multiple developers
cloning/pulling the same repositories over connections with high latency
and low bandwidth. The network limitations were especially annoying in
combination with largefiles where the same data were fetched multiple
times, at least once for each local machine.
With this thingie a local server acts as a proxy for the real
repository, intercepting all read operations, pulling and updating a
local mirror and serving the read operations from that mirror, using
authentication and authorization from the central repo.
An earlier version was posted as "hgwebproxy" but it is now known as
https://bitbucket.org/Unity-Technologies/hgwebcachingproxy . It is a bit
of a hack ... but it seems to work and improves the user experience a lot.
It only really makes sense to use the proxy when physically located in
the office. We try to detect the physical location and intercept the
traffic by installing and using
https://bitbucket.org/Unity-Technologies/dynapath on client machines.
The dynapath extension looks at the local IP addresses and try to use
that to determine which path to use - the main server or the local proxy
mirror thingie.
(Looking at the IP address or its network is often not sufficient as it
seems like it is very common for access points to use 192.168.1 ... and
the full IP address is often not sufficiently stable. Other ideas for
detecting the local address from user space (in a more or less cross
platform way) would be appreciated.)
/Mads
Unity Technologies
More information about the Mercurial-devel
mailing list