# HG changeset patch # User Mads Kiilerich # Date 2012-12-13 18:19:06 # Node ID abe9799a86d6666c0542781d7a591f1ad1544e3f # Parent 2acd9c14b0d7acd3a1d4cb8c2b31b0901959b839 largefiles: align rm warnings with warnings used in core diff --git a/hgext/largefiles/overrides.py b/hgext/largefiles/overrides.py --- a/hgext/largefiles/overrides.py +++ b/hgext/largefiles/overrides.py @@ -137,21 +137,23 @@ def removelargefiles(ui, repo, *pats, ** if lfutil.standin(f) in manifest] for list in [s[0], s[1], s[3], s[6]]] - def warn(files, reason): + def warn(files, msg): for f in files: - ui.warn(_('not removing %s: %s (use forget to undo)\n') - % (m.rel(f), reason)) + ui.warn(msg % m.rel(f)) return int(len(files) > 0) result = 0 if after: remove, forget = deleted, [] - result = warn(modified + added + clean, _('file still exists')) + result = warn(modified + added + clean, + _('not removing %s: file still exists\n')) else: remove, forget = deleted + clean, [] - result = warn(modified, _('file is modified')) - result = warn(added, _('file has been marked for add')) or result + result = warn(modified, _('not removing %s: file is modified (use -f' + ' to force removal)\n')) + result = warn(added, _('not removing %s: file has been marked for add' + ' (use forget to undo)\n')) or result for f in sorted(remove + forget): if ui.verbose or not m.exact(f): diff --git a/tests/test-largefiles.t b/tests/test-largefiles.t --- a/tests/test-largefiles.t +++ b/tests/test-largefiles.t @@ -79,15 +79,25 @@ Test status, subdir and unknown files C sub/normal2 $ rm sub/unknown -Test exit codes for remove warning cases (modified and still exiting) +Test messages and exit codes for remove warning cases $ hg remove -A large1 - not removing large1: file still exists (use forget to undo) + not removing large1: file still exists [1] $ echo 'modified' > large1 $ hg remove large1 - not removing large1: file is modified (use forget to undo) + not removing large1: file is modified (use -f to force removal) [1] + $ echo 'new' > normalnew + $ hg add normalnew + $ echo 'new' > largenew + $ hg add --large normalnew + normalnew already tracked! + $ hg remove normalnew largenew + not removing largenew: file is untracked + not removing normalnew: file has been marked for add (use forget to undo) + [1] + $ rm normalnew largenew $ hg up -Cq Remove both largefiles and normal files.