diff --git a/git-open b/git-open index ff0ef579f5a5f55dffae5f46f18aaa865e924f65..f5c24082d0f3d7aaf4b36b6e959ef34f8ce01d2b 100755 --- a/git-open +++ b/git-open @@ -41,6 +41,11 @@ def warn(s): def info(s): print("\x1b[0;32mInfo\x1b[m " + s) +def open_remote(remote): + url = to_http(remote_url(remote)) + xdg_open(url) + info(f'opening {url}') + def main(args): out = popen("git remote") remotes = out.strip().split("\n") @@ -54,11 +59,17 @@ def main(args): if not remotes: err("No remotes") + try: + open_remote(remote) + return + except Exception as e: + warn(str(e)) + warn("Giving up") + return + for remote in remotes: try: - url = to_http(remote_url(remote)) - xdg_open(url) - info(f'opening {url}') + open_remote(remote) break except Exception as e: warn(str(e))