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 |
|
|
3921 | list = modified + deleted + clean + added | |
3922 | elif after: |
|
3922 | elif after: | |
3923 |
|
|
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 |
|
|
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( |
|
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