Mercurial > public > mercurial-scm > hg
comparison mercurial/cmdutil.py @ 36939:45bfcd16f27e
forget: add --dry-run mode
author | Sushil khanchi <sushilkhanchi97@gmail.com> |
---|---|
date | Sat, 10 Mar 2018 12:33:19 +0530 |
parents | 390d16ea7c76 |
children | c479692690ef |
comparison
equal
deleted
inserted
replaced
36938:8fd9b56e8d7c | 36939:45bfcd16f27e |
---|---|
1994 for r in repo.revs('filelog("path:.hgsub")'): | 1994 for r in repo.revs('filelog("path:.hgsub")'): |
1995 ctx = repo[r] | 1995 ctx = repo[r] |
1996 for subpath in ctx.substate: | 1996 for subpath in ctx.substate: |
1997 ctx.sub(subpath).addwebdirpath(serverpath, webconf) | 1997 ctx.sub(subpath).addwebdirpath(serverpath, webconf) |
1998 | 1998 |
1999 def forget(ui, repo, match, prefix, explicitonly): | 1999 def forget(ui, repo, match, prefix, explicitonly, dryrun): |
2000 join = lambda f: os.path.join(prefix, f) | 2000 join = lambda f: os.path.join(prefix, f) |
2001 bad = [] | 2001 bad = [] |
2002 badfn = lambda x, y: bad.append(x) or match.bad(x, y) | 2002 badfn = lambda x, y: bad.append(x) or match.bad(x, y) |
2003 wctx = repo[None] | 2003 wctx = repo[None] |
2004 forgot = [] | 2004 forgot = [] |
2010 | 2010 |
2011 for subpath in sorted(wctx.substate): | 2011 for subpath in sorted(wctx.substate): |
2012 sub = wctx.sub(subpath) | 2012 sub = wctx.sub(subpath) |
2013 try: | 2013 try: |
2014 submatch = matchmod.subdirmatcher(subpath, match) | 2014 submatch = matchmod.subdirmatcher(subpath, match) |
2015 subbad, subforgot = sub.forget(submatch, prefix) | 2015 subbad, subforgot = sub.forget(submatch, prefix, dryrun=dryrun) |
2016 bad.extend([subpath + '/' + f for f in subbad]) | 2016 bad.extend([subpath + '/' + f for f in subbad]) |
2017 forgot.extend([subpath + '/' + f for f in subforgot]) | 2017 forgot.extend([subpath + '/' + f for f in subforgot]) |
2018 except error.LookupError: | 2018 except error.LookupError: |
2019 ui.status(_("skipping missing subrepository: %s\n") | 2019 ui.status(_("skipping missing subrepository: %s\n") |
2020 % join(subpath)) | 2020 % join(subpath)) |
2037 | 2037 |
2038 for f in forget: | 2038 for f in forget: |
2039 if ui.verbose or not match.exact(f): | 2039 if ui.verbose or not match.exact(f): |
2040 ui.status(_('removing %s\n') % match.rel(f)) | 2040 ui.status(_('removing %s\n') % match.rel(f)) |
2041 | 2041 |
2042 rejected = wctx.forget(forget, prefix) | 2042 if not dryrun: |
2043 bad.extend(f for f in rejected if f in match.files()) | 2043 rejected = wctx.forget(forget, prefix) |
2044 forgot.extend(f for f in forget if f not in rejected) | 2044 bad.extend(f for f in rejected if f in match.files()) |
2045 forgot.extend(f for f in forget if f not in rejected) | |
2045 return bad, forgot | 2046 return bad, forgot |
2046 | 2047 |
2047 def files(ui, ctx, m, fm, fmt, subrepos): | 2048 def files(ui, ctx, m, fm, fmt, subrepos): |
2048 rev = ctx.rev() | 2049 rev = ctx.rev() |
2049 ret = 1 | 2050 ret = 1 |