/** * ggit_ref_is_tag: * @ref: a #GgitRef. * * Check whether the reference is a tag. * * Returns: %TRUE if the reference is a tag, %FALSE otherwise. * **/ gboolean ggit_ref_is_tag (GgitRef *ref) { g_return_val_if_fail (ref != NULL, FALSE); return git_reference_is_tag (_ggit_native_get (ref)); }
static int ref_callback(git_reference *ref, void *data) { struct tag_filter_struct *filter; git_reference *resolved; git_oid oid; if(!git_reference_is_tag(ref)) { return 0; } filter = (struct tag_filter_struct *) data; resolved = NULL; git_reference_resolve(&resolved, ref); git_oid_cpy(&oid, git_reference_target(resolved)); git_reference_free(resolved); return filter->cb(git_reference_name(ref), &oid, filter->data); return 0; }
/* * call-seq: * reference.tag? -> true or false * * Returns +true+ if +reference+ is a tag, false otherwise. */ static VALUE rb_git_ref_is_tag(VALUE self) { git_reference *ref; Data_Get_Struct(self, git_reference, ref); return git_reference_is_tag(ref) ? Qtrue : Qfalse; }