From e0342a8641f0101d7ac12dc47900cfbbb27d604c Mon Sep 17 00:00:00 2001 From: Casper da Costa-Luis Date: Wed, 12 Feb 2020 22:54:30 +0000 Subject: [PATCH 1/7] ui: default no_progress_bar=None instead of False Fixes #3314 --- dvc/remote/azure.py | 4 ++-- dvc/remote/base.py | 4 ++-- dvc/remote/http.py | 2 +- dvc/remote/local.py | 4 ++-- dvc/remote/oss.py | 4 ++-- dvc/remote/s3.py | 4 ++-- dvc/remote/ssh/__init__.py | 4 ++-- dvc/remote/ssh/connection.py | 4 ++-- dvc/utils/fs.py | 2 +- 9 files changed, 16 insertions(+), 16 deletions(-) diff --git a/dvc/remote/azure.py b/dvc/remote/azure.py index 72c3bee424..a74fec2fb8 100644 --- a/dvc/remote/azure.py +++ b/dvc/remote/azure.py @@ -108,7 +108,7 @@ def list_cache_paths(self): return self._list_paths(self.path_info.bucket, self.path_info.path) def _upload( - self, from_file, to_info, name=None, no_progress_bar=False, **_kwargs + self, from_file, to_info, name=None, no_progress_bar=None, **_kwargs ): with Tqdm(desc=name, disable=no_progress_bar, bytes=True) as pbar: self.blob_service.create_blob_from_path( @@ -119,7 +119,7 @@ def _upload( ) def _download( - self, from_info, to_file, name=None, no_progress_bar=False, **_kwargs + self, from_info, to_file, name=None, no_progress_bar=None, **_kwargs ): with Tqdm(desc=name, disable=no_progress_bar, bytes=True) as pbar: self.blob_service.get_blob_to_path( diff --git a/dvc/remote/base.py b/dvc/remote/base.py index be5929fd21..ba29204762 100644 --- a/dvc/remote/base.py +++ b/dvc/remote/base.py @@ -560,7 +560,7 @@ def _handle_transfer_exception( ) return 1 - def upload(self, from_info, to_info, name=None, no_progress_bar=False): + def upload(self, from_info, to_info, name=None, no_progress_bar=None): if not hasattr(self, "_upload"): raise RemoteActionNotImplemented("upload", self.scheme) @@ -593,7 +593,7 @@ def download( from_info, to_info, name=None, - no_progress_bar=False, + no_progress_bar=None, file_mode=None, dir_mode=None, ): diff --git a/dvc/remote/http.py b/dvc/remote/http.py index c04256a462..f2677ee27a 100644 --- a/dvc/remote/http.py +++ b/dvc/remote/http.py @@ -33,7 +33,7 @@ def __init__(self, repo, config): "files. Use: `dvc remote modify no_traverse true`" ) - def _download(self, from_info, to_file, name=None, no_progress_bar=False): + def _download(self, from_info, to_file, name=None, no_progress_bar=None): response = self._request("GET", from_info.url, stream=True) if response.status_code != 200: raise HTTPError(response.status_code, response.reason) diff --git a/dvc/remote/local.py b/dvc/remote/local.py index ba06e4a1cd..af70217f63 100644 --- a/dvc/remote/local.py +++ b/dvc/remote/local.py @@ -229,7 +229,7 @@ def cache_exists(self, checksums, jobs=None, name=None): ] def _upload( - self, from_file, to_info, name=None, no_progress_bar=False, **_kwargs + self, from_file, to_info, name=None, no_progress_bar=None, **_kwargs ): makedirs(to_info.parent, exist_ok=True) @@ -240,7 +240,7 @@ def _upload( os.rename(tmp_file, fspath_py35(to_info)) def _download( - self, from_info, to_file, name=None, no_progress_bar=False, **_kwargs + self, from_info, to_file, name=None, no_progress_bar=None, **_kwargs ): copyfile( from_info, to_file, no_progress_bar=no_progress_bar, name=name diff --git a/dvc/remote/oss.py b/dvc/remote/oss.py index b918d9ddd1..17cc1f664a 100644 --- a/dvc/remote/oss.py +++ b/dvc/remote/oss.py @@ -102,7 +102,7 @@ def list_cache_paths(self): return self._list_paths(self.path_info.path) def _upload( - self, from_file, to_info, name=None, no_progress_bar=False, **_kwargs + self, from_file, to_info, name=None, no_progress_bar=None, **_kwargs ): with Tqdm(desc=name, disable=no_progress_bar, bytes=True) as pbar: self.oss_service.put_object_from_file( @@ -110,7 +110,7 @@ def _upload( ) def _download( - self, from_info, to_file, name=None, no_progress_bar=False, **_kwargs + self, from_info, to_file, name=None, no_progress_bar=None, **_kwargs ): with Tqdm(desc=name, disable=no_progress_bar, bytes=True) as pbar: self.oss_service.get_object_to_file( diff --git a/dvc/remote/s3.py b/dvc/remote/s3.py index 64256e44d8..e4f9132ae6 100644 --- a/dvc/remote/s3.py +++ b/dvc/remote/s3.py @@ -267,7 +267,7 @@ def isdir(self, path_info): dir_path = path_info / "" return bool(list(self._list_paths(dir_path, max_items=1))) - def _upload(self, from_file, to_info, name=None, no_progress_bar=False): + def _upload(self, from_file, to_info, name=None, no_progress_bar=None): total = os.path.getsize(from_file) with Tqdm( disable=no_progress_bar, total=total, bytes=True, desc=name @@ -280,7 +280,7 @@ def _upload(self, from_file, to_info, name=None, no_progress_bar=False): ExtraArgs=self.extra_args, ) - def _download(self, from_info, to_file, name=None, no_progress_bar=False): + def _download(self, from_info, to_file, name=None, no_progress_bar=None): if no_progress_bar: total = None else: diff --git a/dvc/remote/ssh/__init__.py b/dvc/remote/ssh/__init__.py index ed4613038d..cc97463894 100644 --- a/dvc/remote/ssh/__init__.py +++ b/dvc/remote/ssh/__init__.py @@ -225,7 +225,7 @@ def move(self, from_info, to_info): with self.ssh(from_info) as ssh: ssh.move(from_info.path, to_info.path) - def _download(self, from_info, to_file, name=None, no_progress_bar=False): + def _download(self, from_info, to_file, name=None, no_progress_bar=None): assert from_info.isin(self.path_info) with self.ssh(self.path_info) as ssh: ssh.download( @@ -235,7 +235,7 @@ def _download(self, from_info, to_file, name=None, no_progress_bar=False): no_progress_bar=no_progress_bar, ) - def _upload(self, from_file, to_info, name=None, no_progress_bar=False): + def _upload(self, from_file, to_info, name=None, no_progress_bar=None): assert to_info.isin(self.path_info) with self.ssh(self.path_info) as ssh: ssh.upload( diff --git a/dvc/remote/ssh/connection.py b/dvc/remote/ssh/connection.py index ccfa5d7366..05bfa351e9 100644 --- a/dvc/remote/ssh/connection.py +++ b/dvc/remote/ssh/connection.py @@ -172,7 +172,7 @@ def remove(self, path): else: self._remove_file(path) - def download(self, src, dest, no_progress_bar=False, progress_title=None): + def download(self, src, dest, no_progress_bar=None, progress_title=None): with Tqdm( desc=progress_title or os.path.basename(src), disable=no_progress_bar, @@ -202,7 +202,7 @@ def atomic_copy(self, src, dst): finally: self.remove(tmp) - def upload(self, src, dest, no_progress_bar=False, progress_title=None): + def upload(self, src, dest, no_progress_bar=None, progress_title=None): self.makedirs(posixpath.dirname(dest)) tmp_file = tmp_fname(dest) if not progress_title: diff --git a/dvc/utils/fs.py b/dvc/utils/fs.py index aef0552359..58cf4092b0 100644 --- a/dvc/utils/fs.py +++ b/dvc/utils/fs.py @@ -171,7 +171,7 @@ def makedirs(path, exist_ok=False, mode=None): os.umask(umask) -def copyfile(src, dest, no_progress_bar=False, name=None): +def copyfile(src, dest, no_progress_bar=None, name=None): """Copy file with progress bar""" from dvc.exceptions import DvcException from dvc.progress import Tqdm From 607fb12b7512d4282494d9039a90939db8fe72bf Mon Sep 17 00:00:00 2001 From: Casper da Costa-Luis Date: Wed, 12 Feb 2020 22:55:53 +0000 Subject: [PATCH 2/7] ui: catch remaining missing auto-quiet progress --- dvc/lock.py | 2 +- dvc/repo/checkout.py | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/dvc/lock.py b/dvc/lock.py index a9d39b46e7..d6b5ef3e13 100644 --- a/dvc/lock.py +++ b/dvc/lock.py @@ -44,7 +44,7 @@ def _do_lock(self): try: with Tqdm( bar_format="{desc}", - disable=not self._friendly, + disable=True if not self._friendly else None, desc=( "If DVC froze, see `hardlink_lock` in {}".format( format_link("man.dvc.org/config#core") diff --git a/dvc/repo/checkout.py b/dvc/repo/checkout.py index 26f9e18e81..d2e7dc7e0e 100644 --- a/dvc/repo/checkout.py +++ b/dvc/repo/checkout.py @@ -56,7 +56,10 @@ def _checkout( logger.info("Nothing to do") failed = [] with Tqdm( - total=total, unit="file", desc="Checkout", disable=total == 0 + total=total, + unit="file", + desc="Checkout", + disable=True if total == 0 else None, ) as pbar: for stage, filter_info in pairs: failed.extend( From bf8b5c91028f8870a63873d8bf0f41727d74611c Mon Sep 17 00:00:00 2001 From: Casper da Costa-Luis Date: Fri, 14 Feb 2020 19:33:10 +0000 Subject: [PATCH 3/7] progress: treat disable=False as None --- dvc/lock.py | 2 +- dvc/progress.py | 5 +++-- dvc/repo/add.py | 4 ++-- dvc/repo/checkout.py | 5 +---- 4 files changed, 7 insertions(+), 9 deletions(-) diff --git a/dvc/lock.py b/dvc/lock.py index d6b5ef3e13..a9d39b46e7 100644 --- a/dvc/lock.py +++ b/dvc/lock.py @@ -44,7 +44,7 @@ def _do_lock(self): try: with Tqdm( bar_format="{desc}", - disable=True if not self._friendly else None, + disable=not self._friendly, desc=( "If DVC froze, see `hardlink_lock` in {}".format( format_link("man.dvc.org/config#core") diff --git a/dvc/progress.py b/dvc/progress.py index d03b037c06..a8ab61951b 100644 --- a/dvc/progress.py +++ b/dvc/progress.py @@ -55,7 +55,8 @@ def __init__( desc : persists after `close()` level : effective logging level for determining `disable`; used only if `disable` is unspecified - disable : If (default: None), will be determined by logging level. + disable : If (default: None) or False, + will be determined by logging level. May be overridden to `True` due to non-TTY status. Skip override by specifying env var `DVC_IGNORE_ISATTY`. kwargs : anything accepted by `tqdm.tqdm()` @@ -69,7 +70,7 @@ def __init__( file = sys.stderr self.desc_persist = desc # auto-disable based on `logger.level` - if disable is None: + if not disable: disable = logger.getEffectiveLevel() > level # auto-disable based on TTY if ( diff --git a/dvc/repo/add.py b/dvc/repo/add.py index e469119b93..dfd71de12b 100644 --- a/dvc/repo/add.py +++ b/dvc/repo/add.py @@ -55,7 +55,7 @@ def add(repo, targets, recursive=False, no_commit=False, fname=None): total=len(stages), desc="Processing", unit="file", - disable=True if len(stages) == 1 else None, + disable=len(stages) == 1, ) as pbar_stages: for stage in stages: try: @@ -102,7 +102,7 @@ def _create_stages(repo, targets, fname, pbar=None): for out in Tqdm( targets, desc="Creating DVC-files", - disable=True if len(targets) < LARGE_DIR_SIZE else None, + disable=len(targets) < LARGE_DIR_SIZE, unit="file", ): stage = Stage.create(repo, outs=[out], add=True, fname=fname) diff --git a/dvc/repo/checkout.py b/dvc/repo/checkout.py index d2e7dc7e0e..e6d3358c72 100644 --- a/dvc/repo/checkout.py +++ b/dvc/repo/checkout.py @@ -56,10 +56,7 @@ def _checkout( logger.info("Nothing to do") failed = [] with Tqdm( - total=total, - unit="file", - desc="Checkout", - disable=True if total == 0 else None, + total=total, unit="file", desc="Checkout", disable=total == 0, ) as pbar: for stage, filter_info in pairs: failed.extend( From 163fd65e04c9a71f71ea97beba6ebc2e43af3206 Mon Sep 17 00:00:00 2001 From: Casper da Costa-Luis Date: Fri, 14 Feb 2020 19:58:42 +0000 Subject: [PATCH 4/7] test: progress.Tqdm(disable=False) --- tests/unit/test_progress.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tests/unit/test_progress.py b/tests/unit/test_progress.py index 72005f65cd..30dd7e662f 100644 --- a/tests/unit/test_progress.py +++ b/tests/unit/test_progress.py @@ -16,6 +16,17 @@ def test_quiet_logging(caplog, capsys): assert out_err.err == "" +def test_quiet_logging_disable_false(caplog, capsys): + with caplog.at_level(logging.CRITICAL, logger="dvc"): + # simulate interactive terminal + with mock.patch.object(sys.stderr, "isatty", return_value=True): + for _ in Tqdm(range(10), disable=False): + pass + out_err = capsys.readouterr() + assert out_err.out == "" + assert out_err.err == "" + + def test_quiet_notty(caplog, capsys): with caplog.at_level(logging.INFO, logger="dvc"): for _ in Tqdm(range(10)): From b9778fc75601191ecc8223b3ea982ce20512a992 Mon Sep 17 00:00:00 2001 From: Casper da Costa-Luis Date: Fri, 14 Feb 2020 20:57:46 +0000 Subject: [PATCH 5/7] revert no_progress_bar=None <= False partially reverts e0342a8641f0101d --- dvc/remote/azure.py | 4 ++-- dvc/remote/base.py | 4 ++-- dvc/remote/http.py | 2 +- dvc/remote/local.py | 4 ++-- dvc/remote/oss.py | 4 ++-- dvc/remote/s3.py | 4 ++-- dvc/remote/ssh/__init__.py | 4 ++-- dvc/remote/ssh/connection.py | 4 ++-- dvc/repo/checkout.py | 2 +- dvc/utils/fs.py | 2 +- 10 files changed, 17 insertions(+), 17 deletions(-) diff --git a/dvc/remote/azure.py b/dvc/remote/azure.py index a74fec2fb8..72c3bee424 100644 --- a/dvc/remote/azure.py +++ b/dvc/remote/azure.py @@ -108,7 +108,7 @@ def list_cache_paths(self): return self._list_paths(self.path_info.bucket, self.path_info.path) def _upload( - self, from_file, to_info, name=None, no_progress_bar=None, **_kwargs + self, from_file, to_info, name=None, no_progress_bar=False, **_kwargs ): with Tqdm(desc=name, disable=no_progress_bar, bytes=True) as pbar: self.blob_service.create_blob_from_path( @@ -119,7 +119,7 @@ def _upload( ) def _download( - self, from_info, to_file, name=None, no_progress_bar=None, **_kwargs + self, from_info, to_file, name=None, no_progress_bar=False, **_kwargs ): with Tqdm(desc=name, disable=no_progress_bar, bytes=True) as pbar: self.blob_service.get_blob_to_path( diff --git a/dvc/remote/base.py b/dvc/remote/base.py index ba29204762..be5929fd21 100644 --- a/dvc/remote/base.py +++ b/dvc/remote/base.py @@ -560,7 +560,7 @@ def _handle_transfer_exception( ) return 1 - def upload(self, from_info, to_info, name=None, no_progress_bar=None): + def upload(self, from_info, to_info, name=None, no_progress_bar=False): if not hasattr(self, "_upload"): raise RemoteActionNotImplemented("upload", self.scheme) @@ -593,7 +593,7 @@ def download( from_info, to_info, name=None, - no_progress_bar=None, + no_progress_bar=False, file_mode=None, dir_mode=None, ): diff --git a/dvc/remote/http.py b/dvc/remote/http.py index f2677ee27a..c04256a462 100644 --- a/dvc/remote/http.py +++ b/dvc/remote/http.py @@ -33,7 +33,7 @@ def __init__(self, repo, config): "files. Use: `dvc remote modify no_traverse true`" ) - def _download(self, from_info, to_file, name=None, no_progress_bar=None): + def _download(self, from_info, to_file, name=None, no_progress_bar=False): response = self._request("GET", from_info.url, stream=True) if response.status_code != 200: raise HTTPError(response.status_code, response.reason) diff --git a/dvc/remote/local.py b/dvc/remote/local.py index af70217f63..ba06e4a1cd 100644 --- a/dvc/remote/local.py +++ b/dvc/remote/local.py @@ -229,7 +229,7 @@ def cache_exists(self, checksums, jobs=None, name=None): ] def _upload( - self, from_file, to_info, name=None, no_progress_bar=None, **_kwargs + self, from_file, to_info, name=None, no_progress_bar=False, **_kwargs ): makedirs(to_info.parent, exist_ok=True) @@ -240,7 +240,7 @@ def _upload( os.rename(tmp_file, fspath_py35(to_info)) def _download( - self, from_info, to_file, name=None, no_progress_bar=None, **_kwargs + self, from_info, to_file, name=None, no_progress_bar=False, **_kwargs ): copyfile( from_info, to_file, no_progress_bar=no_progress_bar, name=name diff --git a/dvc/remote/oss.py b/dvc/remote/oss.py index 17cc1f664a..b918d9ddd1 100644 --- a/dvc/remote/oss.py +++ b/dvc/remote/oss.py @@ -102,7 +102,7 @@ def list_cache_paths(self): return self._list_paths(self.path_info.path) def _upload( - self, from_file, to_info, name=None, no_progress_bar=None, **_kwargs + self, from_file, to_info, name=None, no_progress_bar=False, **_kwargs ): with Tqdm(desc=name, disable=no_progress_bar, bytes=True) as pbar: self.oss_service.put_object_from_file( @@ -110,7 +110,7 @@ def _upload( ) def _download( - self, from_info, to_file, name=None, no_progress_bar=None, **_kwargs + self, from_info, to_file, name=None, no_progress_bar=False, **_kwargs ): with Tqdm(desc=name, disable=no_progress_bar, bytes=True) as pbar: self.oss_service.get_object_to_file( diff --git a/dvc/remote/s3.py b/dvc/remote/s3.py index e4f9132ae6..64256e44d8 100644 --- a/dvc/remote/s3.py +++ b/dvc/remote/s3.py @@ -267,7 +267,7 @@ def isdir(self, path_info): dir_path = path_info / "" return bool(list(self._list_paths(dir_path, max_items=1))) - def _upload(self, from_file, to_info, name=None, no_progress_bar=None): + def _upload(self, from_file, to_info, name=None, no_progress_bar=False): total = os.path.getsize(from_file) with Tqdm( disable=no_progress_bar, total=total, bytes=True, desc=name @@ -280,7 +280,7 @@ def _upload(self, from_file, to_info, name=None, no_progress_bar=None): ExtraArgs=self.extra_args, ) - def _download(self, from_info, to_file, name=None, no_progress_bar=None): + def _download(self, from_info, to_file, name=None, no_progress_bar=False): if no_progress_bar: total = None else: diff --git a/dvc/remote/ssh/__init__.py b/dvc/remote/ssh/__init__.py index cc97463894..ed4613038d 100644 --- a/dvc/remote/ssh/__init__.py +++ b/dvc/remote/ssh/__init__.py @@ -225,7 +225,7 @@ def move(self, from_info, to_info): with self.ssh(from_info) as ssh: ssh.move(from_info.path, to_info.path) - def _download(self, from_info, to_file, name=None, no_progress_bar=None): + def _download(self, from_info, to_file, name=None, no_progress_bar=False): assert from_info.isin(self.path_info) with self.ssh(self.path_info) as ssh: ssh.download( @@ -235,7 +235,7 @@ def _download(self, from_info, to_file, name=None, no_progress_bar=None): no_progress_bar=no_progress_bar, ) - def _upload(self, from_file, to_info, name=None, no_progress_bar=None): + def _upload(self, from_file, to_info, name=None, no_progress_bar=False): assert to_info.isin(self.path_info) with self.ssh(self.path_info) as ssh: ssh.upload( diff --git a/dvc/remote/ssh/connection.py b/dvc/remote/ssh/connection.py index 05bfa351e9..ccfa5d7366 100644 --- a/dvc/remote/ssh/connection.py +++ b/dvc/remote/ssh/connection.py @@ -172,7 +172,7 @@ def remove(self, path): else: self._remove_file(path) - def download(self, src, dest, no_progress_bar=None, progress_title=None): + def download(self, src, dest, no_progress_bar=False, progress_title=None): with Tqdm( desc=progress_title or os.path.basename(src), disable=no_progress_bar, @@ -202,7 +202,7 @@ def atomic_copy(self, src, dst): finally: self.remove(tmp) - def upload(self, src, dest, no_progress_bar=None, progress_title=None): + def upload(self, src, dest, no_progress_bar=False, progress_title=None): self.makedirs(posixpath.dirname(dest)) tmp_file = tmp_fname(dest) if not progress_title: diff --git a/dvc/repo/checkout.py b/dvc/repo/checkout.py index e6d3358c72..26f9e18e81 100644 --- a/dvc/repo/checkout.py +++ b/dvc/repo/checkout.py @@ -56,7 +56,7 @@ def _checkout( logger.info("Nothing to do") failed = [] with Tqdm( - total=total, unit="file", desc="Checkout", disable=total == 0, + total=total, unit="file", desc="Checkout", disable=total == 0 ) as pbar: for stage, filter_info in pairs: failed.extend( diff --git a/dvc/utils/fs.py b/dvc/utils/fs.py index 58cf4092b0..aef0552359 100644 --- a/dvc/utils/fs.py +++ b/dvc/utils/fs.py @@ -171,7 +171,7 @@ def makedirs(path, exist_ok=False, mode=None): os.umask(umask) -def copyfile(src, dest, no_progress_bar=None, name=None): +def copyfile(src, dest, no_progress_bar=False, name=None): """Copy file with progress bar""" from dvc.exceptions import DvcException from dvc.progress import Tqdm From 56886ffc1fbe4742fca612985842b87b7571fb71 Mon Sep 17 00:00:00 2001 From: Casper da Costa-Luis Date: Fri, 14 Feb 2020 21:04:39 +0000 Subject: [PATCH 6/7] ui: show missing progress Fixes #3332 --- dvc/remote/gdrive.py | 2 +- dvc/remote/gs.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dvc/remote/gdrive.py b/dvc/remote/gdrive.py index 3ad4a78006..9365bf4e37 100644 --- a/dvc/remote/gdrive.py +++ b/dvc/remote/gdrive.py @@ -252,7 +252,7 @@ def gdrive_upload_file( self, parent_id, title, - no_progress_bar=True, + no_progress_bar=False, from_file="", progress_name="", ): diff --git a/dvc/remote/gs.py b/dvc/remote/gs.py index 0419dc440d..aa389379b9 100644 --- a/dvc/remote/gs.py +++ b/dvc/remote/gs.py @@ -52,7 +52,7 @@ def _upload_to_bucket( to_info, chunk_size=None, name=None, - no_progress_bar=True, + no_progress_bar=False, ): blob = bucket.blob(to_info.path, chunk_size=chunk_size) with io.open(from_file, mode="rb") as fobj: @@ -167,7 +167,7 @@ def exists(self, path_info): """ return self.isfile(path_info) or self.isdir(path_info) - def _upload(self, from_file, to_info, name=None, no_progress_bar=True): + def _upload(self, from_file, to_info, name=None, no_progress_bar=False): bucket = self.gs.bucket(to_info.bucket) _upload_to_bucket( bucket, @@ -177,7 +177,7 @@ def _upload(self, from_file, to_info, name=None, no_progress_bar=True): no_progress_bar=no_progress_bar, ) - def _download(self, from_info, to_file, name=None, no_progress_bar=True): + def _download(self, from_info, to_file, name=None, no_progress_bar=False): bucket = self.gs.bucket(from_info.bucket) blob = bucket.get_blob(from_info.path) with io.open(to_file, mode="wb") as fobj: From 19e9de225f5e1fd4340f1959e2d9c44a23ad3377 Mon Sep 17 00:00:00 2001 From: Casper da Costa-Luis Date: Fri, 14 Feb 2020 21:16:19 +0000 Subject: [PATCH 7/7] ui: more verbose progress --- dvc/remote/base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dvc/remote/base.py b/dvc/remote/base.py index be5929fd21..176da69b92 100644 --- a/dvc/remote/base.py +++ b/dvc/remote/base.py @@ -256,7 +256,7 @@ def _get_dir_info_checksum(self, dir_info): from_info = PathInfo(tmp) to_info = self.cache.path_info / tmp_fname("") - self.cache.upload(from_info, to_info, no_progress_bar=True) + self.cache.upload(from_info, to_info, no_progress_bar=False) checksum = self.get_file_checksum(to_info) + self.CHECKSUM_DIR_SUFFIX return checksum, to_info