mirror of
https://github.com/git/git.git
synced 2026-05-25 11:25:06 +02:00
Merge branch 'sb/merge-ours-sparse'
"git merge-ours" is taught to work better in a sparse checkout. * sb/merge-ours-sparse: merge-ours: integrate with sparse-index merge-ours: drop USE_THE_REPOSITORY_VARIABLE
This commit is contained in:
@@ -8,31 +8,34 @@
|
||||
* Pretend we resolved the heads, but declare our tree trumps everybody else.
|
||||
*/
|
||||
|
||||
#define USE_THE_REPOSITORY_VARIABLE
|
||||
|
||||
#include "git-compat-util.h"
|
||||
#include "builtin.h"
|
||||
#include "config.h"
|
||||
#include "environment.h"
|
||||
#include "diff.h"
|
||||
|
||||
|
||||
static const char builtin_merge_ours_usage[] =
|
||||
"git merge-ours <base>... -- HEAD <remote>...";
|
||||
|
||||
int cmd_merge_ours(int argc,
|
||||
const char **argv,
|
||||
const char *prefix UNUSED,
|
||||
struct repository *repo UNUSED)
|
||||
struct repository *repo)
|
||||
{
|
||||
show_usage_if_asked(argc, argv, builtin_merge_ours_usage);
|
||||
|
||||
repo_config(repo, git_default_config, NULL);
|
||||
prepare_repo_settings(repo);
|
||||
repo->settings.command_requires_full_index = 0;
|
||||
|
||||
/*
|
||||
* The contents of the current index becomes the tree we
|
||||
* commit. The index must match HEAD, or this merge cannot go
|
||||
* through.
|
||||
*/
|
||||
if (repo_read_index(the_repository) < 0)
|
||||
if (repo_read_index(repo) < 0)
|
||||
die_errno("read_cache failed");
|
||||
if (index_differs_from(the_repository, "HEAD", NULL, 0))
|
||||
if (index_differs_from(repo, "HEAD", NULL, 0))
|
||||
return 2;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -2559,4 +2559,18 @@ test_expect_success 'cat-file --batch' '
|
||||
ensure_expanded cat-file --batch <in
|
||||
'
|
||||
|
||||
test_expect_success 'merge -s ours' '
|
||||
init_repos &&
|
||||
|
||||
test_all_match git rev-parse HEAD^{tree} &&
|
||||
test_all_match git merge -s ours merge-right &&
|
||||
test_all_match git rev-parse HEAD^{tree} &&
|
||||
test_all_match git rev-parse HEAD^2
|
||||
'
|
||||
|
||||
test_expect_success 'sparse-index is not expanded: merge-ours' '
|
||||
init_repos &&
|
||||
ensure_not_expanded merge -s ours merge-right
|
||||
'
|
||||
|
||||
test_done
|
||||
|
||||
Reference in New Issue
Block a user