subrepo: docstrings stable
authorMads Kiilerich <mads@kiilerich.com>
Thu, 15 Jul 2010 13:24:02 +0200
branchstable
changeset 11571 636554d58665
parent 11562 efbc09fdefd8
child 11572 324bad1dc230
child 11599 6fcc066c0c2c
subrepo: docstrings
mercurial/subrepo.py
--- a/mercurial/subrepo.py	Thu Jul 08 22:44:15 2010 +0200
+++ b/mercurial/subrepo.py	Thu Jul 15 13:24:02 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
@@ -184,7 +194,7 @@
 # get(self, state): run whatever commands are needed to put the
 #   subrepo into this state
 # merge(self, state): merge currently-saved state with the new state.
-# push(self, force): perform whatever action is analagous to 'hg push'
+# push(self, force): perform whatever action is analogous to 'hg push'
 #   This may be a no-op on some systems.
 
 class hgsubrepo(object):