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