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
--- 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