git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [BUG] git-show-branch cant show --more

From
Junio C Hamano <junkio@cox.net>
Date
Sep 19, 2005, 08:12 UTC
Message-ID
<7vwtldtr19.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<E1EHCAx-0007xp-JW@jdl.com>
Jon Loeliger <jdl@freescale.com> writes:
Show 7 quoted lines
> I realize I probably dumbly expected more history out
> of a partial git repository than is actually present,
> but a segmentation fault wasn't a nice way to tell me. :-)
>
> Start with just Paul's repo over here:
>
> rsync://rsync.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc-merge.git

Hmph. That repository does not look partial to me, although it seems to use alternates to borrow heavily from Linus.

  $ git clone rsync://rsync.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc-merge.git ppc-merge
  $ git show-branch --more=10
  [master] ppc32: Allow user to individual select CHRP/PMAC/PREP config
  [master~1] powerpc: Merge simplified sections.h into asm-powerpc
  [master~2] powerpc: Remove section free() and linker script bits
  [master~3] powerpc: Remove sections use from ppc64 and drivers
  [master~4] powerpc: Remove sections use from ppc
  [master~5] ppc32: Removed non-inlined versions of local_irq* functions
  [master~6] powerpc: Merged ppc_asm.h
  [master~7] powerpc: Merge kmap_types.h
  [master~8] [NETFILTER]: Solve Kconfig dependency problem
  [master~9] [IPV6]: Check connect(2) status for IPv6 UDP socket (Re: xfrm_lookup)
  [master~10] [BOND]: Fix bond_init() error path handling.
  $ git --version
  git version 0.99.7

But in any case you are right. We should barf a bit nicely when we encounter an corrupt repository. How about something like this (not fully tested)?

------------ [PATCH] Be nice when running in a corrupt repository.

We may end up trying to print a commit we do not have but only whose existence is known to us because another commit we have refer to it.

Signed-off-by: Junio C Hamano <junkio@cox.net>
---
diff --git a/show-branch.c b/show-branch.c
--- a/show-branch.c
+++ b/show-branch.c
@@ -196,8 +196,11 @@ static void show_one_commit(struct commi
 {
 	char pretty[128], *cp;
 	struct commit_name *name = commit->object.util;
-	pretty_print_commit(CMIT_FMT_ONELINE, commit->buffer, ~0,
-			    pretty, sizeof(pretty));
+	if (commit->object.parsed)
+		pretty_print_commit(CMIT_FMT_ONELINE, commit->buffer, ~0,
+				    pretty, sizeof(pretty));
+	else
+		strcpy(pretty, "(unavailable)");
 	if (!strncmp(pretty, "[PATCH] ", 8))
 		cp = pretty + 8;
 	else
Previous: Jon Loeliger
Message 2 of 2 in “[BUG] git-show-branch cant show --more”
  1. Jon LoeligerSep 19, 2005
  2. Junio C HamanoSep 19, 2005

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.