Mercurial > hg
changeset 21090:aa3d652ba1d5
largefiles: clarify installmatchfn documentation
author | Mads Kiilerich <madski@unity3d.com> |
---|---|
date | Sun, 13 Apr 2014 18:45:43 +0200 |
parents | 278bd08a2902 |
children | dd584d1a75e7 |
files | hgext/largefiles/overrides.py |
diffstat | 1 files changed, 5 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/largefiles/overrides.py Sat Apr 27 23:19:52 2013 +0200 +++ b/hgext/largefiles/overrides.py Sun Apr 13 18:45:43 2014 +0200 @@ -24,8 +24,7 @@ # -- Utility functions: commonly/repeatedly needed functionality --------------- def installnormalfilesmatchfn(manifest): - '''overrides scmutil.match so that the matcher it returns will ignore all - largefiles''' + '''installmatchfn with a matchfn that ignores all largefiles''' oldmatch = None # for the closure def overridematch(ctx, pats=[], opts={}, globbed=False, default='relpath'): @@ -42,16 +41,18 @@ oldmatch = installmatchfn(overridematch) def installmatchfn(f): + '''monkey patch the scmutil module with a custom match function. + Warning: it is monkey patching the _module_ on runtime! Not thread safe!''' oldmatch = scmutil.match setattr(f, 'oldmatch', oldmatch) scmutil.match = f return oldmatch def restorematchfn(): - '''restores scmutil.match to what it was before installnormalfilesmatchfn + '''restores scmutil.match to what it was before installmatchfn was called. no-op if scmutil.match is its original function. - Note that n calls to installnormalfilesmatchfn will require n calls to + Note that n calls to installmatchfn will require n calls to restore matchfn to reverse''' scmutil.match = getattr(scmutil.match, 'oldmatch', scmutil.match)