static git_diff_parsed *diff_parsed_alloc(void) { git_diff_parsed *diff; if ((diff = git__calloc(1, sizeof(git_diff_parsed))) == NULL) return NULL; GIT_REFCOUNT_INC(diff); diff->base.type = GIT_DIFF_TYPE_PARSED; diff->base.strcomp = git__strcmp; diff->base.strncomp = git__strncmp; diff->base.pfxcomp = git__prefixcmp; diff->base.entrycomp = git_diff__entry_cmp; diff->base.patch_fn = git_patch_parsed_from_diff; diff->base.free_fn = diff_parsed_free; if (git_diff_init_options(&diff->base.opts, GIT_DIFF_OPTIONS_VERSION) < 0) { git__free(diff); return NULL; } diff->base.opts.flags &= ~GIT_DIFF_IGNORE_CASE; git_pool_init(&diff->base.pool, 1); if (git_vector_init(&diff->patches, 0, NULL) < 0 || git_vector_init(&diff->base.deltas, 0, git_diff_delta__cmp) < 0) { git_diff_free(&diff->base); return NULL; } git_vector_set_cmp(&diff->base.deltas, git_diff_delta__cmp); return diff; }
mrb_value mrb_Git_DiffOptions_initialize(mrb_state* mrb, mrb_value self) { git_diff_options* native_object = (git_diff_options*)calloc(1, sizeof(git_diff_options)); mruby_gift_git_diff_options_data_ptr(self, native_object); git_diff_init_options(native_object, GIT_DIFF_OPTIONS_VERSION); return self; }
void test_diff_tree__initialize(void) { cl_git_pass(git_diff_init_options(&opts, GIT_DIFF_OPTIONS_VERSION)); memset(&expect, 0, sizeof(expect)); diff = NULL; a = NULL; b = NULL; }
void test_diff_blob__initialize(void) { git_oid oid; g_repo = cl_git_sandbox_init("attr"); cl_git_pass(git_diff_init_options(&opts, GIT_DIFF_OPTIONS_VERSION)); opts.context_lines = 1; memset(&expected, 0, sizeof(expected)); /* tests/resources/attr/root_test4.txt */ cl_git_pass(git_oid_fromstrn(&oid, "a0f7217a", 8)); cl_git_pass(git_blob_lookup_prefix(&d, g_repo, &oid, 8)); /* alien.png */ cl_git_pass(git_oid_fromstrn(&oid, "edf3dcee", 8)); cl_git_pass(git_blob_lookup_prefix(&alien, g_repo, &oid, 8)); }
DiffOptions::DiffOptions() { git_diff_init_options(&diffopts_, GIT_DIFF_OPTIONS_VERSION); git_diff_find_init_options(&findopts_, GIT_DIFF_FIND_OPTIONS_VERSION); }
int luagi_diff_init_options( lua_State *L, int idx, git_diff_options *opts ) { int ret = git_diff_init_options( opts, GIT_DIFF_OPTIONS_VERSION ); if( lua_type( L, idx ) == LUA_TTABLE ) { add_flag( opts->flags, L, idx, NORMAL, GIT_DIFF_NORMAL ); add_flag( opts->flags, L, idx, REVERSE, GIT_DIFF_REVERSE ); add_flag( opts->flags, L, idx, INCLUDE_IGNORED, GIT_DIFF_INCLUDE_IGNORED ); add_flag( opts->flags, L, idx, RECURSE_IGNORED_DIRS, GIT_DIFF_RECURSE_IGNORED_DIRS ); add_flag( opts->flags, L, idx, INCLUDE_UNTRACKED, GIT_DIFF_INCLUDE_UNTRACKED ); add_flag( opts->flags, L, idx, RECURSE_UNTRACKED_DIRS, GIT_DIFF_RECURSE_UNTRACKED_DIRS ); add_flag( opts->flags, L, idx, INCLUDE_UNMODIFIED, GIT_DIFF_INCLUDE_UNMODIFIED ); add_flag( opts->flags, L, idx, INCLUDE_TYPECHANGE, GIT_DIFF_INCLUDE_TYPECHANGE ); add_flag( opts->flags, L, idx, INCLUDE_TYPECHANGE_TREES, GIT_DIFF_INCLUDE_TYPECHANGE_TREES ); add_flag( opts->flags, L, idx, IGNORE_FILEMODE, GIT_DIFF_IGNORE_FILEMODE ); add_flag( opts->flags, L, idx, IGNORE_SUBMODULES, GIT_DIFF_IGNORE_SUBMODULES ); add_flag( opts->flags, L, idx, IGNORE_CASE, GIT_DIFF_IGNORE_CASE ); add_flag( opts->flags, L, idx, DISABLE_PATHSPEC_MATCH, GIT_DIFF_DISABLE_PATHSPEC_MATCH ); add_flag( opts->flags, L, idx, SKIP_BINARY_CHECK, GIT_DIFF_SKIP_BINARY_CHECK ); add_flag( opts->flags, L, idx, ENABLE_FAST_UNTRACKED_DIRS, GIT_DIFF_ENABLE_FAST_UNTRACKED_DIRS ); add_flag( opts->flags, L, idx, UPDATE_INDEX, GIT_DIFF_UPDATE_INDEX ); add_flag( opts->flags, L, idx, FORCE_TEXT, GIT_DIFF_FORCE_TEXT ); add_flag( opts->flags, L, idx, FORCE_BINARY, GIT_DIFF_FORCE_BINARY ); add_flag( opts->flags, L, idx, IGNORE_WHITESPACE, GIT_DIFF_IGNORE_WHITESPACE ); add_flag( opts->flags, L, idx, IGNORE_WHITESPACE_CHANGE, GIT_DIFF_IGNORE_WHITESPACE_CHANGE ); add_flag( opts->flags, L, idx, IGNORE_WHITESPACE_EOL, GIT_DIFF_IGNORE_WHITESPACE_EOL ); add_flag( opts->flags, L, idx, SHOW_UNTRACKED_CONTENT, GIT_DIFF_SHOW_UNTRACKED_CONTENT ); add_flag( opts->flags, L, idx, SHOW_UNMODIFIED, GIT_DIFF_SHOW_UNMODIFIED ); add_flag( opts->flags, L, idx, PATIENCE, GIT_DIFF_PATIENCE ); add_flag( opts->flags, L, idx, MINIMAL, GIT_DIFF_MINIMAL ); add_flag( opts->flags, L, idx, SHOW_BINARY, GIT_DIFF_SHOW_BINARY ); lua_getfield( L, idx, IGNORE_SUBMODULES_TYPE ); if( lua_type( L, -1 ) == LUA_TSTRING ) opts->ignore_submodules = luagi_sub_check_ignore( L, -1 ); lua_getfield( L, idx, PATHSPEC ); if( lua_type( L, -1 ) == LUA_TTABLE ) { opts->pathspec = ltk_check_strarray( L, -1 ); } //TODO notify_cb lua_getfield( L, idx, CONTEXT_LINES ); int context_lines = luaL_optinteger(L, -1, -1 ); if( context_lines >= 0 ) { opts->context_lines = context_lines; } lua_getfield( L, idx, INTERHUNK_LINES ); int ihunk = luaL_optinteger( L, -1, -1 ); if( ihunk >= 0 ) { opts->interhunk_lines = ihunk; } lua_getfield( L, idx, ID_ABBREV ); int ida = luaL_optinteger( L, -1, -1 ); if( ida >= 0 ) { opts->id_abbrev = ida; } lua_getfield( L, idx, MAX_SIZE ); git_off_t msize = luaL_optinteger( L, -1, -1 ); if( msize >= 0 ) { opts->max_size = msize; } lua_getfield( L, idx, OLD_PREFIX ); opts->old_prefix = luaL_optstring( L, -1, NULL ); lua_getfield( L, idx, NEW_PREFIX ); opts->new_prefix = luaL_optstring( L, -1, NULL ); } return ret; }