Mercurial > hg
changeset 11572:324bad1dc230
Merge with stable
author | Martin Geisler <mg@lazybytes.net> |
---|---|
date | Thu, 15 Jul 2010 14:11:14 +0200 |
parents | 2d88369a27bf (current diff) 636554d58665 (diff) |
children | 7ecf4a082c5f |
files | mercurial/subrepo.py |
diffstat | 1 files changed, 12 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/subrepo.py Thu Jul 15 14:02:17 2010 +0200 +++ b/mercurial/subrepo.py Thu Jul 15 14:11:14 2010 +0200 @@ -13,6 +13,10 @@ nullstate = ('', '', 'empty') def state(ctx): + """return a state dict, mapping subrepo paths configured in .hgsub + to tuple: (source from .hgsub, revision from .hgsubstate, kind + (key in types dict)) + """ p = config.config() def read(f, sections=None, remap=None): if f in ctx: @@ -46,12 +50,14 @@ return state def writestate(repo, state): + """rewrite .hgsubstate in (outer) repo with these subrepo states""" repo.wwrite('.hgsubstate', ''.join(['%s %s\n' % (state[s][1], s) for s in sorted(state)]), '') def submerge(repo, wctx, mctx, actx): - # working context, merging context, ancestor context + """delegated from merge.applyupdates: merging of .hgsubstate file + in working context, merging context and ancestor context""" if mctx == actx: # backwards? actx = wctx.p1() s1 = wctx.substate @@ -131,6 +137,7 @@ writestate(repo, sm) def relpath(sub): + """return path to this subrepo as seen from outermost repo""" if not hasattr(sub, '_repo'): return sub._path parent = sub._repo @@ -139,6 +146,8 @@ return sub._repo.root[len(parent.root)+1:] def _abssource(repo, push=False): + """return pull/push path of repo - either based on parent repo + .hgsub info or on the subrepos own config""" if hasattr(repo, '_subparent'): source = repo._subsource if source.startswith('/') or '://' in source: @@ -158,6 +167,7 @@ return repo.ui.config('paths', 'default', repo.root) def subrepo(ctx, path): + """return instance of the right subrepo class for subrepo in path""" # subrepo inherently violates our import layering rules # because it wants to make repo objects from deep inside the stack # so we manually delay the circular imports to not break @@ -207,7 +217,7 @@ raise NotImplementedError def push(self, force): - """perform whatever action is analagous to 'hg push' + """perform whatever action is analogous to 'hg push' This may be a no-op on some systems. """