Mercurial > hg
changeset 33354:4695f1829045
sparse: move code for clearing rules to core
This is a pretty straightforward port.
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Sat, 08 Jul 2017 13:19:38 -0700 |
parents | 160efb559f67 |
children | 9087f9997f42 |
files | hgext/sparse.py mercurial/sparse.py |
diffstat | 2 files changed, 19 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/sparse.py Fri Jul 07 11:51:10 2017 -0700 +++ b/hgext/sparse.py Sat Jul 08 13:19:38 2017 -0700 @@ -365,7 +365,7 @@ _import(ui, repo, pats, opts, force=force) if clearrules: - _clear(ui, repo, pats, force=force) + sparse.clearrules(repo, force=force) if refresh: try: @@ -503,17 +503,6 @@ _verbose_output(ui, opts, profilecount, includecount, excludecount, *fcounts) -def _clear(ui, repo, files, force=False): - with repo.wlock(): - raw = repo.vfs.tryread('sparse') - includes, excludes, profiles = sparse.parseconfig(ui, raw) - - if includes or excludes: - oldstatus = repo.status() - oldsparsematch = sparse.matcher(repo) - sparse.writeconfig(repo, set(), set(), profiles) - sparse.refreshwdir(repo, oldstatus, oldsparsematch, force) - def _verbose_output(ui, opts, profilecount, includecount, excludecount, added, dropped, lookup): """Produce --verbose and templatable output
--- a/mercurial/sparse.py Fri Jul 07 11:51:10 2017 -0700 +++ b/mercurial/sparse.py Sat Jul 08 13:19:38 2017 -0700 @@ -494,3 +494,21 @@ refreshwdir(repo, origstatus, origsparsematch, force=True) prunetemporaryincludes(repo) + +def clearrules(repo, force=False): + """Clears include/exclude rules from the sparse config. + + The remaining sparse config only has profiles, if defined. The working + directory is refreshed, as needed. + """ + with repo.wlock(): + raw = repo.vfs.tryread('sparse') + includes, excludes, profiles = parseconfig(repo.ui, raw) + + if not includes and not excludes: + return + + oldstatus = repo.status() + oldmatch = matcher(repo) + writeconfig(repo, set(), set(), profiles) + refreshwdir(repo, oldstatus, oldmatch, force=force)