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

Re: [PATCH v2] Bisect reset: remove bisect refs that may have been packed.

From
Shawn O. Pearce <spearce@spearce.org>
Date
Nov 15, 2007, 08:49 UTC
Message-ID
<20071115084934.GN14735@spearce.org>
In-Reply-To
<473C02F9.4020402@viscovery.net>
Johannes Sixt <j.sixt@viscovery.net> wrote:
Show 7 quoted lines
> Junio C Hamano schrieb:
> >+	git for-each-ref --format='%(refname) %(objectname)' refs/bisect/\* 
> >refs/heads/bisect |
> >+	while read ref hash
> 
> If you also swap %(refname) and %(objectname), then this is also not prone 
> to whitespace in refnames. (Yes, I know, there shouldn't be such, but...)

What's this obsession with whitespace in refnames? Twice in like two days people are talking about whitespace in refnames.

WHITESPACE IS NOT PERMITTED IN REFNAMES.

Do we need to apply the following patch, to keep people from creating refs by hand with whitespace in them? Is this really that common?

	git rev-parse HEAD >'.git/refs/heads/..i have spaces hah!'
diff --git a/refs.c b/refs.c
index aff02cd..b95bf83 100644
--- a/refs.c
+++ b/refs.c
@@ -246,6 +246,7 @@ static struct ref_list *get_ref_dir(const char *base, struct ref_list *list)
 			struct stat st;
 			int flag;
 			int namelen;
+			int check;
 
 			if (de->d_name[0] == '.')
 				continue;
@@ -261,6 +262,9 @@ static struct ref_list *get_ref_dir(const char *base, struct ref_list *list)
 				list = get_ref_dir(ref, list);
 				continue;
 			}
+			check = check_ref_format(ref);
+			if (check != 0 && check != -2)
+				continue;
 			if (!resolve_ref(ref, sha1, 1, &flag)) {
 				error("%s points nowhere!", ref);
 				continue;
-- 
Shawn.
Previous: Johannes SixtNext: Jeff King
Message 4 of 18 in “Bisect reset: remove bisect refs that may have been packed.”
  1. Bisect reset: remove bisect refs that may have been packed.Christian Couder, Nov 15, 2007
  2. Junio C HamanoNov 15, 2007
  3. Johannes SixtNov 15, 2007
  4. Shawn O. PearceNov 15, 2007
  5. Jeff KingNov 15, 2007
  6. Johannes SchindelinNov 15, 2007
  7. Junio C HamanoNov 15, 2007
  8. 1/3 git-bisect: war on "sed"Junio C Hamano, Nov 15, 2007
  9. Miles BaderNov 15, 2007
  10. Wincent ColaiutaNov 15, 2007
  11. Miles BaderNov 15, 2007
  12. Andreas EricssonNov 15, 2007
  13. David KastrupNov 15, 2007
  14. 2/3 git-bisect: use update-ref to mark good/bad commitsJunio C Hamano, Nov 15, 2007
  15. 3/3 git-bisect: modernize branch shuffling hackJunio C Hamano, Nov 15, 2007
  16. Miles BaderNov 15, 2007
  17. David KastrupNov 15, 2007
  18. Miles BaderNov 15, 2007

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.