summaryrefslogtreecommitdiff
path: root/reflog-walk.c
diff options
context:
space:
mode:
authorJohannes Schindelin <Johannes.Schindelin@gmx.de>2007-07-24 00:39:50 +0100
committerJunio C Hamano <gitster@pobox.com>2007-07-24 17:28:10 -0700
commit7b69b873faf3cfd592bb64a496c6982a540aa7ea (patch)
tree6142de722c399ccfbc5a61e880e129d3d01cdd05 /reflog-walk.c
parent2d8ae400d134c326f3ab0ec15ae522fb74cd0b1d (diff)
downloadgit-7b69b873faf3cfd592bb64a496c6982a540aa7ea.tar.gz
git log -g: Complain, but do not fail, when no reflogs are there
When asking "git log -g --all", clearly you want to see only those refs that do have reflogs, but you do not want it to fail, either. So instead of die()ing, complain about it, but move on to the other refs. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'reflog-walk.c')
-rw-r--r--reflog-walk.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/reflog-walk.c b/reflog-walk.c
index c983858259..ee1456b45a 100644
--- a/reflog-walk.c
+++ b/reflog-walk.c
@@ -136,7 +136,7 @@ void init_reflog_walk(struct reflog_walk_info** info)
*info = xcalloc(sizeof(struct reflog_walk_info), 1);
}
-void add_reflog_for_walk(struct reflog_walk_info *info,
+int add_reflog_for_walk(struct reflog_walk_info *info,
struct commit *commit, const char *name)
{
unsigned long timestamp = 0;
@@ -188,7 +188,7 @@ void add_reflog_for_walk(struct reflog_walk_info *info,
}
}
if (!reflogs || reflogs->nr == 0)
- die("No reflogs found for '%s'", branch);
+ return -1;
path_list_insert(branch, &info->complete_reflogs)->util
= reflogs;
}
@@ -200,13 +200,14 @@ void add_reflog_for_walk(struct reflog_walk_info *info,
if (commit_reflog->recno < 0) {
free(branch);
free(commit_reflog);
- return;
+ return -1;
}
} else
commit_reflog->recno = reflogs->nr - recno - 1;
commit_reflog->reflogs = reflogs;
add_commit_info(commit, commit_reflog, &info->reflogs);
+ return 0;
}
void fake_reflog_parent(struct reflog_walk_info *info, struct commit *commit)