Hg storage now based off mercurial module, not 'hg' executible.
authorW. Trevor King <wking@drexel.edu>
Tue, 29 Dec 2009 10:52:27 +0000 (05:52 -0500)
committerW. Trevor King <wking@drexel.edu>
Tue, 29 Dec 2009 10:52:27 +0000 (05:52 -0500)
commit0aa80631bd2dc0a5f28f1dd7db2cbda7d14e67fe
treeab9daf7f047e0ee0d575ffafa3f77a96f6246b17
parentd1726c47dccc7a7c7db1f038bc30a5712bb70153
Hg storage now based off mercurial module, not 'hg' executible.

This should make repeated calls to Hg storage instances _much_ faster,
since we avoid repeatedly loading and tearing down a python subprocess.
For example, the testsuite runs ~6x faster on my box.

Here's a run with the old Hg implementation:
  $ python test.py libbe.storage.vcs.hg
  ...
  =================================
  ERROR: test_get_previous_children
  ---------------------------------
  Traceback (most recent call last):
    ...
  NotImplementedError

  ---------------------------------
  Ran 49 tests in 133.285s

  FAILED (errors=1)

A run with the new implementation gives the same results, except for:
  Ran 49 tests in 22.328s
libbe/storage/vcs/bzr.py
libbe/storage/vcs/hg.py