threads / patch / 12484

patchFix 'git remote show' regression on empty repository in 1.5.4

Subject: [PATCH] Fix 'git remote show' regression on empty repository in 1.5.4

## tl;dr

2 messages between Mar 4, 2008 and Mar 4, 2008. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

Shawn O. Pearce· Mar 4, 2008, 06:00 UTC · lore

Back in 18f7c51c we switched git-ls-remote/git-peek-remote to use the transport backend, rather than do everything itself.

As part of that switch we started to produce a non-zero exit status if no refs were received from the remote peer, which happens when the remote peer has no commits pushed to it yet. (E.g. "git --git-dir=foo.git init; git ls-remote foo.git")

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
---
 This patch is built against `maint`.
 It will cause a merge conflict against `master` as there is a
 change there to invoke transport_disconnect(transport) before
 displaying the refs.
 Since the disconnect patch is not in maint, but this is a current
 regression in 1.5.4.3, I'm sending you a conflicting patch.  :)
 As far as resolving this when it merges to master, the return value
 of transport_disconnect() is probably what should be checked to
 signal a non-zero exit status to the caller, not the empty ref list.
 builtin-ls-remote.c |    4 ----
 1 files changed, 0 insertions(+), 4 deletions(-)
Show changes to builtin-ls-remote.c +0 −3
diff --git a/builtin-ls-remote.c b/builtin-ls-remote.c
index 6dd31d1..720280e 100644
--- a/builtin-ls-remote.c
+++ b/builtin-ls-remote.c
@@ -94,10 +94,6 @@ int cmd_ls_remote(int argc, const char **argv, const char *prefix)
 		transport_set_option(transport, TRANS_OPT_UPLOADPACK, uploadpack);
 
 	ref = transport_get_remote_refs(transport);
-
-	if (!ref)
-		return 1;
Junio C Hamano· Mar 4, 2008, 08:37 UTC · re: Shawn O. Pearce · lore

Re: [PATCH] Fix 'git remote show' regression on empty repository in 1.5.4

"Shawn O. Pearce" <spearce@spearce.org> writes:
Show 6 quoted lines
>  It will cause a merge conflict against `master` as there is a
>  change there to invoke transport_disconnect(transport) before
>  displaying the refs.
>
>  Since the disconnect patch is not in maint, but this is a current
>  regression in 1.5.4.3, I'm sending you a conflicting patch.  :)
That's perfectly fine.  Merging is what maintainers do.

← back to recent threads