darcs

Issue 1771 optimize --http

Title optimize --http
Priority feature Status needs-reproduction
Milestone Resolved in
Superseder Nosy List darcs-devel, dmitry.kurochkin, kowey, mornfall
Assigned To
Topics Hashed, Performance

Created on 2010-03-18.17:13:29 by kowey, last changed 2010-03-21.06:57:59 by kowey.

Messages
msg10280 (view) Author: kowey Date: 2010-03-18.17:13:22
Here is an idea which I think we should attribute to Petr.  

http://wiki.darcs.net/Ideas/Snapshots

The fleshing out is mine, so don't blame him if I said anything stupid
in that page.

We need a way to make darcs get/pull faster.  Packs might be one way to
go about it, but they involve (a) quite a bit of implementation and (b)
a potential format change.

This is an idea for a completely backward-compatible means of achieving
a faster darcs get/pull.

The idea is to create a single "snapshot" that represents the
_darcs/pristine.hashed _darcs/patches and _darcs/inventories that
corresponds to the last tag, basically a tarball.

When darcs clients do a get/pull, they check to see if the snapshot
exists, and if so, fetch, expand, and proceed as normal.  By virtue of
darcs's pre-existing cache architecture (in which only files that aren't
in a local cache get fetched), only the handful of files not covered by
the snapshot should be retrieved.

Variant to this idea: have two snapshots, one for pristine (darcs get
--lazy) and one for patches and inventories (darcs get; darcs pull).

We need to have a discussion on darcs-users on what may cause us to
regret implementing something like this, if at all.
msg10344 (view) Author: kowey Date: 2010-03-21.06:57:57
Petr says we should have a darcs optimize --http command that somehow
makes repositories more HTTP friendly (especially for the case of darcs
get).

So I'm generalising this bug accordingly.
History
Date User Action Args
2010-03-18 17:13:29koweycreate
2010-03-21 06:57:59koweysetmessages: + msg10344
title: snapshots: easy way to make darcs get/pull fast? -> optimize --http
2010-03-23 15:59:52koweylinkissue1691 superseder