context: make forget work like commands.forget

Switch users of wctx.delete(..., False) to forget.
This commit is contained in:
Matt Mackall 2011-05-26 17:15:35 -05:00
parent 97c6e7b48d
commit c6e850b04b
5 changed files with 12 additions and 11 deletions

View File

@ -735,10 +735,9 @@ class queue(object):
if not keep:
r = self.qrepo()
if r:
r[None].remove(patches, True)
else:
for p in patches:
os.unlink(self.join(p))
r[None].forget(patches)
for p in patches:
os.unlink(self.join(p))
if numrevs:
qfinished = self.applied[:numrevs]
@ -2623,7 +2622,7 @@ def rename(ui, repo, patch, name=None, **opts):
if r.dirstate[name] == 'r':
wctx.undelete([name])
wctx.copy(patch, name)
wctx.remove([patch], False)
wctx.forget([patch])
finally:
wlock.release()

View File

@ -2269,7 +2269,7 @@ def forget(ui, repo, *pats, **opts):
if ui.verbose or not m.exact(f):
ui.status(_('removing %s\n') % m.rel(f))
repo[None].remove(forget, unlink=False)
repo[None].forget(forget)
return errs
@command('grep',

View File

@ -835,12 +835,14 @@ class workingctx(changectx):
finally:
wlock.release()
def forget(self, list):
def forget(self, files):
wlock = self._repo.wlock()
try:
for f in list:
for f in files:
if self._repo.dirstate[f] != 'a':
self._repo.ui.warn(_("%s not added!\n") % f)
self._repo.dirstate.remove(f)
elif f not in self._repo.dirstate:
self._repo.ui.warn(_("%s not tracked!\n") % f)
else:
self._repo.dirstate.drop(f)
finally:

View File

@ -489,7 +489,7 @@ class workingbackend(fsbackend):
scmutil.dirstatecopy(self.ui, self.repo, wctx, src, dst)
addremoved.discard(src)
if (not self.similarity) and self.removed:
wctx.remove(sorted(self.removed))
wctx.forget(sorted(self.removed))
if addremoved:
cwd = self.repo.getcwd()
if cwd:

View File

@ -623,7 +623,7 @@ def addremove(repo, pats=[], opts={}, dry_run=None, similarity=None):
wctx = repo[None]
wlock = repo.wlock()
try:
wctx.remove(deleted)
wctx.forget(deleted)
wctx.add(unknown)
for new, old in copies.iteritems():
wctx.copy(old, new)