hgext3rd/pullbundle.py
changeset 4134 ab77f37fedf3
parent 4133 1293625d274d
child 4135 47f1d7b4305d
equal deleted inserted replaced
4133:1293625d274d 4134:ab77f37fedf3
    37 If you do not want to use evolution server side, you should disable obsmarkers exchange:
    37 If you do not want to use evolution server side, you should disable obsmarkers exchange:
    38 
    38 
    39     [experimental]
    39     [experimental]
    40     evolution.exchange=no
    40     evolution.exchange=no
    41 
    41 
       
    42 Extra Configuration
       
    43 ===================
       
    44 
       
    45   [pullbundle]
       
    46   # By default bundles are stored `.hg/cache/pullbundles/.
       
    47   # This can be changed with the following config:
       
    48   cache-directory=/absolute/path
       
    49 
    42 Implementation status
    50 Implementation status
    43 =====================
    51 =====================
    44 
    52 
    45 Both for stablerange and pullbundle use "simple" initial implementations.
    53 Both for stablerange and pullbundle use "simple" initial implementations.
    46 Theses implemenations focus on testing the algorithms and proving the features
    54 Theses implemenations focus on testing the algorithms and proving the features
    67     changegroup,
    75     changegroup,
    68     discovery,
    76     discovery,
    69     exchange,
    77     exchange,
    70     narrowspec,
    78     narrowspec,
    71     node as nodemod,
    79     node as nodemod,
       
    80     registrar,
    72     util,
    81     util,
    73 )
    82 )
    74 
    83 
    75 from mercurial.i18n import _
    84 from mercurial.i18n import _
       
    85 
       
    86 configtable = {}
       
    87 configitem = registrar.configitem(configtable)
       
    88 
       
    89 configitem('pullbundle', 'cache-directory',
       
    90            default=None,
       
    91 )
    76 
    92 
    77 # generic wrapping
    93 # generic wrapping
    78 
    94 
    79 def uisetup(ui):
    95 def uisetup(ui):
    80     exchange.getbundle2partsmapping['changegroup'] = _getbundlechangegrouppart
    96     exchange.getbundle2partsmapping['changegroup'] = _getbundlechangegrouppart
   308         part.addparam('treemanifest', '1')
   324         part.addparam('treemanifest', '1')
   309 
   325 
   310 # cache management
   326 # cache management
   311 
   327 
   312 def cachedir(repo):
   328 def cachedir(repo):
       
   329     cachedir = repo.ui.config('pullbundle', 'cache-directory')
       
   330     if cachedir is not None:
       
   331         return cachedir
   313     return repo.cachevfs.join('pullbundles')
   332     return repo.cachevfs.join('pullbundles')
   314 
   333 
   315 def getcache(repo, bundlename):
   334 def getcache(repo, bundlename):
   316     cdir = cachedir(repo)
   335     cdir = cachedir(repo)
   317     bundlepath = os.path.join(cdir, bundlename)
   336     bundlepath = os.path.join(cdir, bundlename)