Mercurial > public > mercurial-scm > hg
comparison mercurial/commands.py @ 12129:07ac2a560fce stable
remove: properly set return code when warnings are issued
This removes the warn() function in favor of issuing warnings directly
for each kind of file that Mercurial won't remove.
This also uses three separate translatable strings instead of using
string formatting to build the message. This should make it easier to
localize.
author | Brodie Rao <brodie@bitheap.org> |
---|---|
date | Mon, 30 Aug 2010 20:27:25 -0400 |
parents | 090dc5eef746 |
children | 48735ce02345 28ddf67198b2 |
comparison
equal
deleted
inserted
replaced
12128:090dc5eef746 | 12129:07ac2a560fce |
---|---|
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 |