##// END OF EJS Templates
Speedup revlog.ancestors for the linear case...
Speedup revlog.ancestors for the linear case revlog.ancestors can be expensive on big repos. This cuts down the overall time for hg update by ~19% by short cutting revlog.ancestors when one of the revisions is reachable from another.

File last commit:

r1945:dec6d3c1 default
r2081:416d8b2a default
Show More
hg.py
36 lines | 1.3 KiB | text/x-python | PythonLexer
mpm@selenic.com
Add back links from file revisions to changeset revisions...
r0 # hg.py - repository classes for mercurial
#
# Copyright 2005 Matt Mackall <mpm@selenic.com>
#
# This software may be used and distributed according to the terms
# of the GNU General Public License, incorporated herein by reference.
mpm@selenic.com
Break apart hg.py...
r1089 from node import *
from repo import *
mpm@selenic.com
implement demand loading hack...
r262 from demandload import *
Benoit Boissinot
new type of repo: bundle://path/to/repo+/path/to/bundlename...
r1945 demandload(globals(), "localrepo bundlerepo httprepo sshrepo statichttprepo")
mpm@selenic.com
Add back links from file revisions to changeset revisions...
r0
mpm@selenic.com
Add hg:// protocol...
r60 def repository(ui, path=None, create=0):
Matt Mackall
Change remote repository to httprepository
r623 if path:
if path.startswith("http://"):
mpm@selenic.com
Break apart hg.py...
r1089 return httprepo.httprepository(ui, path)
mpm@selenic.com
Add basic https support for pull
r923 if path.startswith("https://"):
mpm@selenic.com
Break apart hg.py...
r1089 return httprepo.httpsrepository(ui, path)
Matt Mackall
Change remote repository to httprepository
r623 if path.startswith("hg://"):
mpm@selenic.com
Break apart hg.py...
r1089 return httprepo.httprepository(
ui, path.replace("hg://", "http://"))
Matt Mackall
Change remote repository to httprepository
r623 if path.startswith("old-http://"):
mpm@selenic.com
Separate out old-http support...
r1101 return statichttprepo.statichttprepository(
ui, path.replace("old-http://", "http://"))
Matt Mackall
Add an sshrepository class and hg serve --stdio
r624 if path.startswith("ssh://"):
mpm@selenic.com
Break apart hg.py...
r1089 return sshrepo.sshrepository(ui, path)
Benoit Boissinot
new type of repo: bundle://path/to/repo+/path/to/bundlename...
r1945 if path.startswith("bundle://"):
path = path[9:]
s = path.split("+", 1)
if len(s) == 1:
repopath, bundlename = "", s[0]
else:
repopath, bundlename = s
return bundlerepo.bundlerepository(ui, repopath, bundlename)
mpm@selenic.com
Add hg:// protocol...
r60
mpm@selenic.com
localrepo: minor opener usage restructuring
r1102 return localrepo.localrepository(ui, path, create)