[PATCH 0 of 6] light-weight copy queue

Sune Foldager cryo at cyanite.org
Mon Jan 31 10:21:38 UTC 2011


Repost of the light-weight copy queue. It's rebased (almost) to tip, and cleaned up compared
to the last post, ages ago. A few problems and points remain:

- The tests are adjusted to the lwcopy feature being enabled, while it's by default disabled
  in the queue itself. This is so I can test the actual feature. When running the tests, I hack
  the enable code in localrepo to enable the feature unconditionally.

- In the patch 'origtext', the handling of textlen is not very elegant, and could need a bit of
  refactoring.

- The repacking feature, to automatically lwcopy changesets when they are cloned/pushed, only
  works for a subset of copies. In particular, only for copies to previously non-existant files
  (files that don't have a filelog file). This could be changed, I think, to include some more
  cases, but not all. Since this is not a required feature, I guess it's ok.

- There is, of course, no wire extension and thus no support for transfering lwcopy changesets
  natively between instances. They are unpacked/repacked instead.

- The whole feature is slightly hackish, but I believe it's hard to do much better without
  more changes to the underlying revlog format (such as more native metadata support).

The queue may also be found here: http://bitbucket.org/cyanite/lwcopy/.hg/patches

/Sune


More information about the Mercurial-devel mailing list