Mercurial > hg-stable
changeset 35144:7a58608281dd
remove: print message for each file in verbose mode only while using `-A` (BC)
hg rm -A option prints the message of every file in the repo. This is not very
user friendly for a big repository with thousands of files. So enabling this
feature only when run in --verbose mode (hg rm -Av)
Differential Revision: https://phab.mercurial-scm.org/D1336
author | pavanpc@fb.com |
---|---|
date | Fri, 17 Nov 2017 22:52:40 +0000 |
parents | ff80efc8f3e4 |
children | c157bb0120a9 |
files | mercurial/cmdutil.py tests/test-remove.t |
diffstat | 2 files changed, 51 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/cmdutil.py Fri Nov 03 17:19:56 2017 -0400 +++ b/mercurial/cmdutil.py Fri Nov 17 22:52:40 2017 +0000 @@ -2982,8 +2982,9 @@ for f in remaining: count += 1 ui.progress(_('skipping'), count, total=total, unit=_('files')) - warnings.append(_('not removing %s: file still exists\n') - % m.rel(f)) + if ui.verbose or (f in files): + warnings.append(_('not removing %s: file still exists\n') + % m.rel(f)) ret = 1 ui.progress(_('skipping'), None) else:
--- a/tests/test-remove.t Fri Nov 03 17:19:56 2017 -0400 +++ b/tests/test-remove.t Fri Nov 17 22:52:40 2017 +0000 @@ -189,9 +189,9 @@ \r (no-eol) (esc) 0 files updated, 0 files merged, 0 files removed, 0 files unresolved -21 state clean, options -A +21 state clean, options -Av - $ remove -A foo + $ remove -Av foo \r (no-eol) (esc) deleting [===========================================>] 1/1\r (no-eol) (esc) \r (no-eol) (esc) @@ -205,10 +205,10 @@ ./foo 0 files updated, 0 files merged, 0 files removed, 0 files unresolved -22 state modified, options -A +22 state modified, options -Av $ echo b >> foo - $ remove -A foo + $ remove -Av foo \r (no-eol) (esc) deleting [===========================================>] 1/1\r (no-eol) (esc) \r (no-eol) (esc) @@ -357,9 +357,32 @@ \r (no-eol) (esc) 2 files updated, 0 files merged, 0 files removed, 0 files unresolved -dir, options -A +dir, options -Av $ rm test/bar + $ remove -Av test + \r (no-eol) (esc) + deleting [===========================================>] 1/1\r (no-eol) (esc) + \r (no-eol) (esc) + \r (no-eol) (esc) + skipping [===========================================>] 1/1\r (no-eol) (esc) + \r (no-eol) (esc) + \r (no-eol) (esc) + deleting [===========================================>] 1/1\r (no-eol) (esc) + \r (no-eol) (esc) + removing test/bar (glob) + not removing test/foo: file still exists (glob) + exit code: 1 + R test/bar + ./foo + ./test/foo + \r (no-eol) (esc) + updating [===========================================>] 1/1\r (no-eol) (esc) + \r (no-eol) (esc) + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + +dir, options -A <dir> + $ rm test/bar $ remove -A test \r (no-eol) (esc) deleting [===========================================>] 1/1\r (no-eol) (esc) @@ -371,7 +394,26 @@ deleting [===========================================>] 1/1\r (no-eol) (esc) \r (no-eol) (esc) removing test/bar (glob) - not removing test/foo: file still exists (glob) + exit code: 1 + R test/bar + ./foo + ./test/foo + \r (no-eol) (esc) + updating [===========================================>] 1/1\r (no-eol) (esc) + \r (no-eol) (esc) + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + +without any files/dirs, options -A + $ rm test/bar + $ remove -A + \r (no-eol) (esc) + skipping [=====================> ] 1/2\r (no-eol) (esc) + skipping [===========================================>] 2/2\r (no-eol) (esc) + \r (no-eol) (esc) + \r (no-eol) (esc) + deleting [===========================================>] 1/1\r (no-eol) (esc) + \r (no-eol) (esc) + removing test/bar (glob) exit code: 1 R test/bar ./foo