Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
builtin/show-ref: rewrite to take an object_id argument
author
Michael Haggerty
<mhagger@alum.mit.edu>
Mon, 25 May 2015 18:38:53 +0000
(18:38 +0000)
committer
Junio C Hamano
<gitster@pobox.com>
Mon, 25 May 2015 19:19:33 +0000
(12:19 -0700)
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/tag.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
a0cde90
)
diff --git
a/builtin/tag.c
b/builtin/tag.c
index 7d8cd8c4186bd73c52ad7af125367d4eaef4a981..5f6cdc5a03cd0d6df75c06453785f110cc3b08ee 100644
(file)
--- a/
builtin/tag.c
+++ b/
builtin/tag.c
@@
-176,7
+176,7
@@
static enum contains_result contains(struct commit *candidate,
return contains_test(candidate, want);
}
return contains_test(candidate, want);
}
-static void show_tag_lines(const
unsigned char *sha1
, int lines)
+static void show_tag_lines(const
struct object_id *oid
, int lines)
{
int i;
unsigned long size;
{
int i;
unsigned long size;
@@
-184,14
+184,14
@@
static void show_tag_lines(const unsigned char *sha1, int lines)
char *buf, *sp, *eol;
size_t len;
char *buf, *sp, *eol;
size_t len;
- buf = read_sha1_file(
sha1
, &type, &size);
+ buf = read_sha1_file(
oid->hash
, &type, &size);
if (!buf)
if (!buf)
- die_errno("unable to read object %s",
sha1_to_hex(sha1
));
+ die_errno("unable to read object %s",
oid_to_hex(oid
));
if (type != OBJ_COMMIT && type != OBJ_TAG)
goto free_return;
if (!size)
die("an empty %s object %s?",
if (type != OBJ_COMMIT && type != OBJ_TAG)
goto free_return;
if (!size)
die("an empty %s object %s?",
- typename(type),
sha1_to_hex(sha1
));
+ typename(type),
oid_to_hex(oid
));
/* skip header */
sp = strstr(buf, "\n\n");
/* skip header */
sp = strstr(buf, "\n\n");
@@
-215,7
+215,7
@@
static void show_tag_lines(const unsigned char *sha1, int lines)
free(buf);
}
free(buf);
}
-static int show_reference(const char *refname, const
unsigned char *sha1
,
+static int show_reference(const char *refname, const
struct object_id *oid
,
int flag, void *cb_data)
{
struct tag_filter *filter = cb_data;
int flag, void *cb_data)
{
struct tag_filter *filter = cb_data;
@@
-224,14
+224,14
@@
static int show_reference(const char *refname, const unsigned char *sha1,
if (filter->with_commit) {
struct commit *commit;
if (filter->with_commit) {
struct commit *commit;
- commit = lookup_commit_reference_gently(
sha1
, 1);
+ commit = lookup_commit_reference_gently(
oid->hash
, 1);
if (!commit)
return 0;
if (!contains(commit, filter->with_commit))
return 0;
}
if (!commit)
return 0;
if (!contains(commit, filter->with_commit))
return 0;
}
- if (points_at.nr && !match_points_at(refname,
sha1
))
+ if (points_at.nr && !match_points_at(refname,
oid->hash
))
return 0;
if (!filter->lines) {
return 0;
if (!filter->lines) {
@@
-242,7
+242,7
@@
static int show_reference(const char *refname, const unsigned char *sha1,
return 0;
}
printf("%-15s ", refname);
return 0;
}
printf("%-15s ", refname);
- show_tag_lines(
sha1
, filter->lines);
+ show_tag_lines(
oid
, filter->lines);
putchar('\n');
}
putchar('\n');
}
@@
-260,8
+260,6
@@
static int list_tags(const char **patterns, int lines,
struct commit_list *with_commit, int sort)
{
struct tag_filter filter;
struct commit_list *with_commit, int sort)
{
struct tag_filter filter;
- struct each_ref_fn_sha1_adapter wrapped_show_reference =
- {show_reference, (void *)&filter};
filter.patterns = patterns;
filter.lines = lines;
filter.patterns = patterns;
filter.lines = lines;
@@
-270,7
+268,7
@@
static int list_tags(const char **patterns, int lines,
memset(&filter.tags, 0, sizeof(filter.tags));
filter.tags.strdup_strings = 1;
memset(&filter.tags, 0, sizeof(filter.tags));
filter.tags.strdup_strings = 1;
- for_each_tag_ref(
each_ref_fn_adapter, &wrapped_show_reference
);
+ for_each_tag_ref(
show_reference, (void *)&filter
);
if (sort) {
int i;
if ((sort & SORT_MASK) == VERCMP_SORT)
if (sort) {
int i;
if ((sort & SORT_MASK) == VERCMP_SORT)