Repository: borgbackup/borg

Issue:
progress-indication auto-enable conflicts with --verbose
the progress indicator for create needs to be able to output on the same line repeatedly (using the \r trick to overwrite the line again and again).

but --verbose causes scrolling. that's not a problem per se as the user could decide between the two, but if a console user gives `borg create -v`, we automatically enable progress indication also because we always do that when a tty is connected.

i suggest to remove the automatic progress indication enabling. too much magic.



Discussion:

Resolving patch:
diff --git a/borg/archiver.py b/borg/archiver.py
--- a/borg/archiver.py
+++ b/borg/archiver.py
@@ -798,10 +798,9 @@ def build_parser(self, args=None, prog=None):
         subparser.add_argument('-s', '--stats', dest='stats',
                                action='store_true', default=False,
                                help='print statistics for the created archive')
-        subparser.add_argument('-p', '--progress', '--no-progress',
-                               dest='progress', default=sys.stdin.isatty(),
-                               action=ToggleAction, nargs=0,
-                               help="""toggle progress display while creating the archive, showing Original,
+        subparser.add_argument('-p', '--progress', dest='progress',
+                               action='store_true', default=False,
+                               help="""show progress display while creating the archive, showing Original,
                                Compressed and Deduplicated sizes, followed by the Number of files seen
                                and the path being processed, default: %(default)s""")
         subparser.add_argument('--filter', dest='output_filter', metavar='STATUSCHARS',
diff --git a/borg/testsuite/archiver.py b/borg/testsuite/archiver.py
--- a/borg/testsuite/archiver.py
+++ b/borg/testsuite/archiver.py
@@ -676,32 +676,7 @@ def test_progress(self):
         output = self.cmd('create', '--progress', self.repository_location + '::test4', 'input')
         self.assert_in("\r", output)
         # progress forced off
-        output = self.cmd('create', '--no-progress', self.repository_location + '::test5', 'input')
-        self.assert_not_in("\r", output)
-
-    @unittest.skipUnless(sys.stdout.isatty(), 'need a tty to test auto-detection')
-    def test_progress_tty(self):
-        """test that the --progress and --no-progress flags work,
-        overriding defaults from the terminal auto-detection"""
-        self.create_regular_file('file1', size=1024 * 80)
-        self.cmd('init', self.repository_location)
-        # without a terminal, no progress expected
-        output = self.cmd('create', self.repository_location + '::test1', 'input', fork=False)
-        self.assert_not_in("\r", output)
-        # with a terminal, progress expected
-        output = self.cmd('create', self.repository_location + '::test2', 'input', fork=True)
-        self.assert_in("\r", output)
-        # without a terminal, progress forced on
-        output = self.cmd('create', '--progress', self.repository_location + '::test3', 'input', fork=False)
-        self.assert_in("\r", output)
-        # with a terminal, progress forced on
-        output = self.cmd('create', '--progress', self.repository_location + '::test4', 'input', fork=True)
-        self.assert_in("\r", output)
-        # without a terminal, progress forced off
-        output = self.cmd('create', '--no-progress', self.repository_location + '::test5', 'input', fork=False)
-        self.assert_not_in("\r", output)
-        # with a terminal, progress forced off
-        output = self.cmd('create', '--no-progress', self.repository_location + '::test6', 'input', fork=True)
+        output = self.cmd('create', self.repository_location + '::test5', 'input')
         self.assert_not_in("\r", output)
 
     def test_file_status(self):


Test patch: