diff options
author | Edward Thomson <ethomson@github.com> | 2016-05-26 01:20:41 -0500 |
---|---|---|
committer | Edward Thomson <ethomson@github.com> | 2016-05-26 01:20:41 -0500 |
commit | 06f42b62173f92c9ee74653268af53e81270d0af (patch) | |
tree | b1400b10f8a9da87a9ec2ae926458be308ac9570 /src | |
parent | fdf14637d5ff01bb59638f8bc01ef7cf7c3324ff (diff) | |
parent | c864b4ab996159a2cb0905aafbccb3347560e4ac (diff) | |
download | libgit2-06f42b62173f92c9ee74653268af53e81270d0af.tar.gz |
Merge branch 'checkout_submodules'
Diffstat (limited to 'src')
-rw-r--r-- | src/checkout.c | 3 | ||||
-rw-r--r-- | src/merge.c | 1 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/checkout.c b/src/checkout.c index d84b46ba7..b3e95dff8 100644 --- a/src/checkout.c +++ b/src/checkout.c @@ -482,7 +482,8 @@ static int checkout_action_with_wd( *action = CHECKOUT_ACTION_IF(SAFE, REMOVE, NONE); break; case GIT_DELTA_MODIFIED: /* case 16, 17, 18 (or 36 but not really) */ - if (checkout_is_workdir_modified(data, &delta->old_file, &delta->new_file, wd)) + if (wd->mode != GIT_FILEMODE_COMMIT && + checkout_is_workdir_modified(data, &delta->old_file, &delta->new_file, wd)) *action = CHECKOUT_ACTION_IF(FORCE, UPDATE_BLOB, CONFLICT); else *action = CHECKOUT_ACTION_IF(SAFE, UPDATE_BLOB, NONE); diff --git a/src/merge.c b/src/merge.c index a0f2405ff..b93851b7e 100644 --- a/src/merge.c +++ b/src/merge.c @@ -2827,6 +2827,7 @@ static int merge_check_workdir(size_t *conflicts, git_repository *repo, git_inde opts.flags |= GIT_DIFF_DISABLE_PATHSPEC_MATCH; opts.pathspec.count = merged_paths->length; opts.pathspec.strings = (char **)merged_paths->contents; + opts.ignore_submodules = GIT_SUBMODULE_IGNORE_ALL; if ((error = git_diff_index_to_workdir(&wd_diff_list, repo, NULL, &opts)) < 0) goto done; |