Using old-http and rsync for pull/push.

Rob Browning rlb at defaultvalue.org
Thu Sep 29 14:39:56 CDT 2005


Matt Mackall <mpm at selenic.com> writes:

> I think a single bundle makes sense for distributing whole projects
> where the project is small. For larger projects, you can have two:
> project-full.hg and project-this-week.hg.

Would it be possible to put some information at the head of a bundle
to allow unbundle to stop the transfer early if it detects that it
already has the changes represented by that bundle?

If so, and if that wouldn't be a lot of data, you could then tell
people to always update like this:

  #!/bin/sh
  set -e
  hg unbundle ...project-full.hg
  hg unbundle ...project-incremental.hg

and they wouldn't have to worry about missing any changes.

Otherwise, if people don't unbundle full before incremental every
time, it seems like it would be relatively easy to miss changes as a
result of updates to full.

Even if you use the project-this-week.hg approach, it seems like
people would still have to pull project-full.hg first when trying to
update, unless they could be sure that they weren't more than a week
behind relative to the uploader's schedule[1].

Of course, maybe I'm just misunderstanding the situation.

[1] I assume the uploader also needs to make sure they upload a new
  "full" bundle before the new "this-week" (or incremental) bundle,
  and I assume they also need to be careful to avoid making any
  partial uploads visible during transfer.

Thanks for the help.
-- 
Rob Browning
rlb @defaultvalue.org and @debian.org; previously @cs.utexas.edu
GPG starting 2002-11-03 = 14DD 432F AE39 534D B592  F9A0 25C8 D377 8C7E 73A4


More information about the Mercurial mailing list