From: Tay Ray Chuan Date: Thu, 08 Apr 2010 03:58:03 GMT Subject: [PATCH] ls-remote: default to 'origin' when no remote specified Message-ID: <1270699083-5424-1-git-send-email-rctay89@gmail.com> Instead of breaking execution when no remote (as specified in the variable dest) is specified when git-ls-remote is invoked, continue on and let remote_get() handle it. That way, we are able to use the default remote (by default, "origin"), as git-fetch, git-push, and others, do. While we're at it, die with a more interesting message ("Where do you want to..."), as git-fetch does, instead of the plain usage help. Add several tests to check that git-ls-remote handles the no-remote-specified situation. Signed-off-by: Tay Ray Chuan --- builtin/ls-remote.c | 5 ++--- t/t5512-ls-remote.sh | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 3 deletions(-) diff --git a/builtin/ls-remote.c b/builtin/ls-remote.c index 70f5622..dfada83 100644 --- a/builtin/ls-remote.c +++ b/builtin/ls-remote.c @@ -73,9 +73,6 @@ int cmd_ls_remote(int argc, const char **argv, const char *prefix) break; } - if (!dest) - usage(ls_remote_usage); - if (argv[i]) { int j; pattern = xcalloc(sizeof(const char *), argc - i + 1); @@ -87,6 +84,8 @@ int cmd_ls_remote(int argc, const char **argv, const char *prefix) } } remote = remote_get(dest); + if (!remote) + die("Where do you want to list from today?"); if (!remote->url_nr) die("remote %s has no configured URL", dest); transport = transport_get(remote, NULL); diff --git a/t/t5512-ls-remote.sh b/t/t5512-ls-remote.sh index 1dd8eed..e19429b 100755 --- a/t/t5512-ls-remote.sh +++ b/t/t5512-ls-remote.sh @@ -49,4 +49,41 @@ test_expect_success 'ls-remote self' ' ' +cat >exp <actual 2>&1) && + test_cmp exp actual + +' + +test_expect_success 'defaults to "origin" when no remote specified' ' + + git remote add origin "$(pwd)/.git" + git ls-remote >actual && + test_cmp expected.all actual + +' + +cat >exp <actual 2>&1) && + test_cmp exp actual + +' + test_done -- 1.7.0.97.g1372c