diff --git a/dvc/command/remote.py b/dvc/command/remote.py index 9ff361fd6f..8c6dbc3ef3 100644 --- a/dvc/command/remote.py +++ b/dvc/command/remote.py @@ -48,9 +48,13 @@ def run(self): class CmdRemoteDefault(CmdRemoteConfig): def run(self): - self.remote_config.set_default( - self.args.name, unset=self.args.unset, level=self.args.level - ) + if self.args.name is None and not self.args.unset: + name = self.remote_config.get_default(level=self.args.level) + print(name) + else: + self.remote_config.set_default( + self.args.name, unset=self.args.unset, level=self.args.level + ) return 0 diff --git a/dvc/remote/config.py b/dvc/remote/config.py index 17f1ef4fd8..dccad52ba3 100644 --- a/dvc/remote/config.py +++ b/dvc/remote/config.py @@ -151,3 +151,8 @@ def set_default(self, name, unset=False, level=None): self.config.set( Config.SECTION_CORE, Config.SECTION_CORE_REMOTE, name, level=level ) + + def get_default(self, level=None): + return self.config.get( + Config.SECTION_CORE, Config.SECTION_CORE_REMOTE, level=level + ) diff --git a/tests/func/test_remote.py b/tests/func/test_remote.py index f589eb234e..8e8f00deeb 100644 --- a/tests/func/test_remote.py +++ b/tests/func/test_remote.py @@ -145,6 +145,13 @@ def test(self): self.assertEqual(default, None) +def test_show_default(dvc_repo, capsys): + assert main(["remote", "default", "foo"]) == 0 + assert main(["remote", "default"]) == 0 + out, _ = capsys.readouterr() + assert out == "foo\n" + + class TestRemoteShouldHandleUppercaseRemoteName(TestDvc): upper_case_remote_name = "UPPERCASEREMOTE"