mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-01 23:08:43 +01:00
remote: show default when run "dvc remote list" (#10711)
* remote: show default when run "dvc remote list" Fixes #10708 * Indent other remotes if there is a default remote Now regardless of whether there is a default remote or not, all remotes are equally indented * stricter test for listing remotes shows default * Rewrite dvc remote list implemetation - Default remote is indicated at end of the output and colored green - Remotes no longer reordered to show default first - Test updated to reflect changes and remove need for function escape_ansi. --------- Co-authored-by: RMCrean <[email protected]>
This commit is contained in:
@@ -110,8 +110,16 @@ class CmdRemoteDefault(CmdRemote):
|
||||
class CmdRemoteList(CmdRemote):
|
||||
def run(self):
|
||||
conf = self.config.read(self.args.level)
|
||||
default_remote = conf["core"].get("remote")
|
||||
|
||||
for name, remote_conf in conf["remote"].items():
|
||||
ui.write(name, remote_conf["url"], sep="\t")
|
||||
if name == default_remote:
|
||||
text = f"{name}\t{remote_conf['url']}\t(default)"
|
||||
color = "green"
|
||||
else:
|
||||
text = f"{name}\t{remote_conf['url']}"
|
||||
color = ""
|
||||
ui.write(ui.rich_text(text, style=color), styled=True)
|
||||
return 0
|
||||
|
||||
|
||||
|
||||
@@ -115,6 +115,20 @@ def test_show_default(dvc, capsys):
|
||||
assert out == "foo\n"
|
||||
|
||||
|
||||
def test_list_shows_default(dvc, capsys):
|
||||
default_remote = "foo"
|
||||
other_remote = "bar"
|
||||
bucket_url = "s3://bucket/name"
|
||||
assert main(["remote", "add", default_remote, bucket_url]) == 0
|
||||
assert main(["remote", "add", other_remote, bucket_url]) == 0
|
||||
assert main(["remote", "default", default_remote]) == 0
|
||||
assert main(["remote", "list"]) == 0
|
||||
out, _ = capsys.readouterr()
|
||||
out_lines = out.splitlines()
|
||||
assert out_lines[0].split() == [default_remote, bucket_url, "(default)"]
|
||||
assert out_lines[1].split() == [other_remote, bucket_url]
|
||||
|
||||
|
||||
def test_upper_case_remote(tmp_dir, dvc, local_cloud):
|
||||
remote_name = "UPPERCASEREMOTE"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user