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

[PATCH 3/3] prevent HEAD reflog to be interpreted as current branch reflog

From
Nicolas Pitre <nico@cam.org>
Date
Feb 1, 2007, 17:33 UTC
Message-ID
<Pine.LNX.4.64.0702011231300.3021@xanadu.home>

The work in progress to enable separate reflog for HEAD will make it independent from reflog of any branch HEAD might be pointing to. In the mean time disallow HEAD@{...} until that work is completed. Otherwise people might get used to the current behavior which makes HEAD@{...} an alias for <current_branch>@{...} which won't be the case later.

Signed-off-by: Nicolas Pitre <nico@cam.org>
---
 sha1_name.c |   16 +++++++++++++++-
 1 files changed, 15 insertions(+), 1 deletions(-)
diff --git a/sha1_name.c b/sha1_name.c
index 9dfb3ac..70c6e42 100644
--- a/sha1_name.c
+++ b/sha1_name.c
@@ -301,12 +301,26 @@ static int get_sha1_basic(const char *str, int len, unsigned char *sha1)
 		fprintf(stderr, warning, len, str);
 
 	if (reflog_len) {
-		/* Is it asking for N-th entry, or approxidate? */
 		int nth, i;
 		unsigned long at_time;
 		unsigned long co_time;
 		int co_tz, co_cnt;
 
+		/*
+		 * We'll have an independent reflog for "HEAD" eventually
+		 * which won't be a synonym for the current branch reflog.
+		 * In the mean time prevent people from getting used to
+		 * such a synonym until the work is completed.
+		 */
+		if (!strncmp("HEAD", str, len) &&
+		    !strncmp(real_ref, "refs/", 5)) {
+			error("reflog for HEAD has not been implemented yet\n"
+			      "Maybe you could try %s%s instead.",
+			      strchr(real_ref+5, '/')+1, str + len);
+			exit(-1);
+		}
+
+		/* Is it asking for N-th entry, or approxidate? */
 		for (i = nth = 0; 0 <= nth && i < reflog_len; i++) {
 			char ch = str[at+2+i];
 			if ('0' <= ch && ch <= '9')
-- 
1.5.0.rc2.131.g4b01-dirty
Next: Shawn O. Pearce
Message 1 of 35 in “prevent HEAD reflog to be interpreted as current branch reflog”
  1. 3/3 prevent HEAD reflog to be interpreted as current branch reflogNicolas Pitre, Feb 1, 2007
  2. Shawn O. PearceFeb 1, 2007
  3. Junio C HamanoFeb 1, 2007
  4. Simon 'corecode' SchubertFeb 1, 2007
  5. Nicolas PitreFeb 1, 2007
  6. Matthias LederhoferFeb 1, 2007
  7. 4/3 provide a nice @{...} syntax to always mean the current branch reflogNicolas Pitre, Feb 1, 2007
  8. 5/3 , was Re: [PATCH 4/3] provide a nice @{...} syntax to always mean the current branch reflogJohannes Schindelin, Feb 1, 2007
  9. 6/3 , was Re: [PATCH 5/3], was Re: [PATCH 4/3] provide a nice @{...} syntax to always mean the current branch reflogJohannes Schindelin, Feb 1, 2007
  10. Junio C HamanoFeb 2, 2007
  11. Nicolas PitreFeb 1, 2007
  12. Jakub NarebskiFeb 2, 2007
  13. Johannes SchindelinFeb 2, 2007
  14. Lars HjemliFeb 2, 2007
  15. Andy ParkinsFeb 2, 2007
  16. Nicolas PitreFeb 2, 2007
  17. Nicolas PitreFeb 2, 2007
  18. Andy ParkinsFeb 2, 2007
  19. Simon 'corecode' SchubertFeb 2, 2007
  20. Nicolas PitreFeb 2, 2007
  21. Mark WoodingFeb 3, 2007
  22. Andy ParkinsFeb 3, 2007
  23. Jakub NarebskiFeb 2, 2007
  24. Simon 'corecode' SchubertFeb 2, 2007
  25. Simon 'corecode' SchubertFeb 2, 2007
  26. Nicolas PitreFeb 2, 2007
  27. Lars HjemliFeb 2, 2007
  28. Johannes SchindelinFeb 5, 2007
  29. Shawn O. PearceFeb 5, 2007
  30. Johannes SchindelinFeb 5, 2007
  31. Lars HjemliFeb 5, 2007
  32. Andy ParkinsFeb 2, 2007
  33. Rogan DawesFeb 2, 2007
  34. Andy ParkinsFeb 2, 2007
  35. Junio C HamanoFeb 3, 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.