1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
MODULE = Git::Raw PACKAGE = Git::Raw::Diff::Stats
SV *
deletions(self)
Diff_Stats self
CODE:
RETVAL = newSVuv(git_diff_stats_deletions(self));
OUTPUT: RETVAL
SV *
insertions(self)
Diff_Stats self
CODE:
RETVAL = newSVuv(git_diff_stats_insertions(self));
OUTPUT: RETVAL
SV *
files_changed(self)
Diff_Stats self
CODE:
RETVAL = newSVuv(git_diff_stats_files_changed(self));
OUTPUT: RETVAL
SV *
buffer(self, ...)
Diff_Stats self
PROTOTYPE: $;$
PREINIT:
int rc;
size_t width = 0;
git_buf buf = GIT_BUF_INIT_CONST(NULL, 0);
git_diff_stats_format_t format = GIT_DIFF_STATS_NONE;
CODE:
if (items == 2) {
HV *opts = git_ensure_hv(ST(1), "options");
HV *flags;
if ((flags = git_hv_hash_entry(opts, "flags"))) {
unsigned out = 0;
git_flag_opt(flags, "full", GIT_DIFF_STATS_FULL, &out);
git_flag_opt(flags, "short", GIT_DIFF_STATS_SHORT, &out);
git_flag_opt(flags, "number", GIT_DIFF_STATS_NUMBER, &out);
git_flag_opt(flags, "summary", GIT_DIFF_STATS_INCLUDE_SUMMARY, &out);
format = out;
}
}
rc = git_diff_stats_to_buf(&buf, self, format, width);
git_check_error(rc);
RETVAL = newSVpv(buf.ptr, buf.size);
git_buf_dispose(&buf);
OUTPUT: RETVAL
void
DESTROY(self)
SV *self
CODE:
git_diff_stats_free(GIT_SV_TO_PTR(Diff::Stats, self));
SvREFCNT_dec(GIT_SV_TO_MAGIC(self));
|