2914 for f in m.files(): |
2914 for f in m.files(): |
2915 if f not in repo.dirstate and not os.path.isdir(m.rel(f)): |
2915 if f not in repo.dirstate and not os.path.isdir(m.rel(f)): |
2916 ui.warn(_('not removing %s: file is untracked\n') % m.rel(f)) |
2916 ui.warn(_('not removing %s: file is untracked\n') % m.rel(f)) |
2917 ret = 1 |
2917 ret = 1 |
2918 |
2918 |
2919 def warn(files, reason): |
|
2920 for f in files: |
|
2921 ui.warn(_('not removing %s: file %s (use -f to force removal)\n') |
|
2922 % (m.rel(f), reason)) |
|
2923 ret = 1 |
|
2924 |
|
2925 if force: |
2919 if force: |
2926 remove, forget = modified + deleted + clean, added |
2920 remove, forget = modified + deleted + clean, added |
2927 elif after: |
2921 elif after: |
2928 remove, forget = deleted, [] |
2922 remove, forget = deleted, [] |
2929 warn(modified + added + clean, _('still exists')) |
2923 for f in modified + added + clean: |
|
2924 ui.warn(_('not removing %s: file still exists (use -f' |
|
2925 ' to force removal)\n') % m.rel(f)) |
|
2926 ret = 1 |
2930 else: |
2927 else: |
2931 remove, forget = deleted + clean, [] |
2928 remove, forget = deleted + clean, [] |
2932 warn(modified, _('is modified')) |
2929 for f in modified: |
2933 warn(added, _('has been marked for add')) |
2930 ui.warn(_('not removing %s: file is modified (use -f' |
|
2931 ' to force removal)\n') % m.rel(f)) |
|
2932 ret = 1 |
|
2933 for f in added: |
|
2934 ui.warn(_('not removing %s: file has been marked for add (use -f' |
|
2935 ' to force removal)\n') % m.rel(f)) |
|
2936 ret = 1 |
2934 |
2937 |
2935 for f in sorted(remove + forget): |
2938 for f in sorted(remove + forget): |
2936 if ui.verbose or not m.exact(f): |
2939 if ui.verbose or not m.exact(f): |
2937 ui.status(_('removing %s\n') % m.rel(f)) |
2940 ui.status(_('removing %s\n') % m.rel(f)) |
2938 |
2941 |