equal
deleted
inserted
replaced
156 """ |
156 """ |
157 opts = pycompat.byteskwargs(opts) |
157 opts = pycompat.byteskwargs(opts) |
158 |
158 |
159 with repo.wlock(), repo.lock(): |
159 with repo.wlock(), repo.lock(): |
160 |
160 |
161 if not pats and not repo.ui.configbool('experimental', |
161 m, a, r, d = repo.status()[:4] |
162 'uncommitondirtywdir'): |
162 isdirtypath = any(set(m + a + r + d) & set(pats)) |
163 cmdutil.bailifchanged(repo) |
163 if (not repo.ui.configbool('experimental', 'uncommitondirtywdir') and |
|
164 (not pats or isdirtypath)): |
|
165 cmdutil.bailifchanged(repo, hint=_('requires ' |
|
166 'experimental.uncommitondirtywdir to uncommit')) |
164 old = repo['.'] |
167 old = repo['.'] |
165 rewriteutil.precheck(repo, [old.rev()], 'uncommit') |
168 rewriteutil.precheck(repo, [old.rev()], 'uncommit') |
166 if len(old.parents()) > 1: |
169 if len(old.parents()) > 1: |
167 raise error.Abort(_("cannot uncommit merge changeset")) |
170 raise error.Abort(_("cannot uncommit merge changeset")) |
168 |
171 |