[prev in list] [next in list] [prev in thread] [next in thread]
List: git
Subject: [PATCH 2/2] builtin-reflog: fix deletion of HEAD entries
From: Pieter de Bie <pdebie () ai ! rug ! nl>
Date: 2008-08-09 23:33:30
Message-ID: 1218324810-35376-2-git-send-email-pdebie () ai ! rug ! nl
[Download RAW message or body]
dwim_ref() used to resolve HEAD to its symlink (like refs/heads/master),
making a call to 'git reflog delete HEAD@{1}' to actually delete the second
entry in the master reflog.
This patch makes a special case for HEAD (as that's the only non-branch
reflog we keep), fixing the issue.
Signed-off-by: Pieter de Bie <pdebie@ai.rug.nl>
---
builtin-reflog.c | 15 ++++++++++++---
t/t1410-reflog.sh | 2 +-
2 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/builtin-reflog.c b/builtin-reflog.c
index 0c34e37..5af3f28 100644
--- a/builtin-reflog.c
+++ b/builtin-reflog.c
@@ -604,9 +604,18 @@ static int cmd_reflog_delete(int argc, const char **argv, const char *prefix)
continue;
}
- if (!dwim_ref(argv[i], spec - argv[i], sha1, &ref)) {
- status |= error("%s points nowhere!", argv[i]);
- continue;
+ if (!strncmp(argv[i], "HEAD", 4)) {
+ ref = xstrdup("HEAD");
+ if (!resolve_ref(ref, sha1, 1, NULL)) {
+ status |= error("%s points nowhere!", argv[i]);
+ continue;
+ }
+ }
+ else {
+ if (!dwim_ref(argv[i], spec - argv[i], sha1, &ref)) {
+ status |= error("%s points nowhere!", argv[i]);
+ continue;
+ }
}
recno = strtoul(spec + 2, &ep, 10);
diff --git a/t/t1410-reflog.sh b/t/t1410-reflog.sh
index 3b9860e..5b24f05 100755
--- a/t/t1410-reflog.sh
+++ b/t/t1410-reflog.sh
@@ -175,7 +175,7 @@ test_expect_success 'recover and check' '
'
-test_expect_failure 'delete' '
+test_expect_success 'delete' '
echo 1 > C &&
test_tick &&
git commit -m rat C &&
--
1.6.0.rc0.320.g49281
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic