Method: Rugged::Diff#patch
- Defined in:
- ext/rugged/rugged_diff.c
permalink #patch ⇒ Object #patch(: compact) ⇒ Object
Return a string containing the diff in patch form.
207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 |
# File 'ext/rugged/rugged_diff.c', line 207
static VALUE rb_git_diff_patch(int argc, VALUE *argv, VALUE self)
{
git_diff *diff;
VALUE rb_str = rb_str_new(NULL, 0);
VALUE rb_opts;
rb_scan_args(argc, argv, "00:", &rb_opts);
Data_Get_Struct(self, git_diff, diff);
if (!NIL_P(rb_opts)) {
if (rb_hash_aref(rb_opts, CSTR2SYM("compact")) == Qtrue)
git_diff_print(diff, GIT_DIFF_FORMAT_NAME_STATUS, diff_print_cb, (void*)rb_str);
else
git_diff_print(diff, GIT_DIFF_FORMAT_PATCH, diff_print_cb, (void*)rb_str);
} else {
git_diff_print(diff, GIT_DIFF_FORMAT_PATCH, diff_print_cb, (void*)rb_str);
}
return rb_str;
}
|