##// END OF EJS Templates
commands.remove: don't use workingctx.remove(list, unlink=True)...
Adrian Buehlmann -
r14450:d1a1578c default
parent child Browse files
Show More
@@ -8,7 +8,7 b''
8 from node import hex, bin, nullid, nullrev, short
8 from node import hex, bin, nullid, nullrev, short
9 from lock import release
9 from lock import release
10 from i18n import _, gettext
10 from i18n import _, gettext
11 import os, re, sys, difflib, time, tempfile
11 import os, re, sys, difflib, time, tempfile, errno
12 import hg, scmutil, util, revlog, extensions, copies, error, bookmarks
12 import hg, scmutil, util, revlog, extensions, copies, error, bookmarks
13 import patch, help, url, encoding, templatekw, discovery
13 import patch, help, url, encoding, templatekw, discovery
14 import archival, changegroup, cmdutil, sshserver, hbisect, hgweb, hgweb.server
14 import archival, changegroup, cmdutil, sshserver, hbisect, hgweb, hgweb.server
@@ -3918,15 +3918,15 b' def remove(ui, repo, *pats, **opts):'
3918 ret = 1
3918 ret = 1
3919
3919
3920 if force:
3920 if force:
3921 remove, forget = modified + deleted + clean, added
3921 list = modified + deleted + clean + added
3922 elif after:
3922 elif after:
3923 remove, forget = deleted, []
3923 list = deleted
3924 for f in modified + added + clean:
3924 for f in modified + added + clean:
3925 ui.warn(_('not removing %s: file still exists (use -f'
3925 ui.warn(_('not removing %s: file still exists (use -f'
3926 ' to force removal)\n') % m.rel(f))
3926 ' to force removal)\n') % m.rel(f))
3927 ret = 1
3927 ret = 1
3928 else:
3928 else:
3929 remove, forget = deleted + clean, []
3929 list = deleted + clean
3930 for f in modified:
3930 for f in modified:
3931 ui.warn(_('not removing %s: file is modified (use -f'
3931 ui.warn(_('not removing %s: file is modified (use -f'
3932 ' to force removal)\n') % m.rel(f))
3932 ' to force removal)\n') % m.rel(f))
@@ -3936,12 +3936,25 b' def remove(ui, repo, *pats, **opts):'
3936 ' to force removal)\n') % m.rel(f))
3936 ' to force removal)\n') % m.rel(f))
3937 ret = 1
3937 ret = 1
3938
3938
3939 for f in sorted(remove + forget):
3939 for f in sorted(list):
3940 if ui.verbose or not m.exact(f):
3940 if ui.verbose or not m.exact(f):
3941 ui.status(_('removing %s\n') % m.rel(f))
3941 ui.status(_('removing %s\n') % m.rel(f))
3942
3942
3943 repo[None].forget(forget)
3943 wlock = repo.wlock()
3944 repo[None].remove(remove, unlink=not after)
3944 try:
3945 if not after:
3946 for f in list:
3947 if f in added:
3948 continue # we never unlink added files on remove
3949 try:
3950 util.unlinkpath(repo.wjoin(f))
3951 except OSError, inst:
3952 if inst.errno != errno.ENOENT:
3953 raise
3954 repo[None].forget(list)
3955 finally:
3956 wlock.release()
3957
3945 return ret
3958 return ret
3946
3959
3947 @command('rename|move|mv',
3960 @command('rename|move|mv',
General Comments 0
You need to be logged in to leave comments. Login now