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

Re: [PATCH 2/2] builtin-reflog: fix deletion of HEAD entries

From
PBPieter de Bie <pdebie@ai.rug.nl>
Date
Aug 10, 2008, 09:35 UTC
Message-ID
<1218360901-36215-1-git-send-email-pdebie@ai.rug.nl>
In-Reply-To
<7vd4kh4r9m.fsf@gitster.siamese.dyndns.org>
On Aug 10, 2008, at 3:01 AM, Junio C Hamano wrote:
>-		if (!dwim_ref(argv[i], spec - argv[i], sha1, &ref)) {
>+		if (!dwim_log(argv[i], spec - argv[i], sha1, &ref)) {

This is also what add_reflog_for_walk() does, but that function tries to resolve the argv[i] part first, without doing the dwim_log().

Perhaps we can also do this to allow "git reflog expire master" instead of "git reflog expire refs/heads/master"?

--<8--
Subject: [PATCH] builtin-reflog: Allow reflog expire to name partial ref

This allows you to specify 'git reflog expire master' without needing to give the full refname like 'git reflog expire refs/heads/master'

Signed-off-by: Pieter de Bie <pdebie@ai.rug.nl>
---
 builtin-reflog.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/builtin-reflog.c b/builtin-reflog.c
index 5af3f28..a8311a6 100644
--- a/builtin-reflog.c
+++ b/builtin-reflog.c
@@ -541,14 +541,15 @@ static int cmd_reflog_expire(int argc, const char **argv, const char *prefix)
 	}
 
 	while (i < argc) {
-		const char *ref = argv[i++];
+		char *ref;
 		unsigned char sha1[20];
-		if (!resolve_ref(ref, sha1, 1, NULL)) {
-			status |= error("%s points nowhere!", ref);
+		if (!dwim_log(argv[i], strlen(argv[i]), sha1, &ref)) {
+			status |= error("%s points nowhere!", argv[i]);
 			continue;
 		}
 		set_reflog_expiry_param(&cb, explicit_expiry, ref);
 		status |= expire_reflog(ref, sha1, 0, &cb);
+		i++;
 	}
 	return status;
 }
-- 
1.6.0.rc0.320.g49281
Previous: Junio C HamanoNext: Johannes Sixt
Message 5 of 9 in “reflog test: add more tests for 'reflog delete'”
  1. 1/2 reflog test: add more tests for 'reflog delete'Pieter de Bie, Aug 9, 2008
  2. 2/2 builtin-reflog: fix deletion of HEAD entriesPieter de Bie, Aug 9, 2008
  3. Junio C HamanoAug 10, 2008
  4. Junio C HamanoAug 10, 2008
  5. Pieter de BieAug 10, 2008
  6. Johannes SixtAug 10, 2008
  7. Junio C HamanoAug 10, 2008
  8. Pieter de BieAug 10, 2008
  9. builtin-reflog: Allow reflog expire to name partial refPieter de Bie, Aug 10, 2008

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.