diff --git a/src/libgit2/merge.c b/src/libgit2/merge.c index eabb4bfa32c..69a5f1aa6b7 100644 --- a/src/libgit2/merge.c +++ b/src/libgit2/merge.c @@ -1831,12 +1831,47 @@ int git_merge_diff_list__find_differences( git_merge_diff_list *diff_list, git_iterator *ancestor_iter, git_iterator *our_iter, - git_iterator *their_iter) + git_iterator **their_iters, + size_t their_iters_len) { - git_iterator *iterators[3] = { ancestor_iter, our_iter, their_iter }; - struct merge_diff_find_data find_data = { diff_list }; + size_t i, j, iters_len = 1 + their_iters_len; + git_iterator** iterators; + git_iterator* curr_iterators[3]; + struct merge_diff_find_data find_data; + int error = 0; + + iterators = git__calloc(iters_len, sizeof(git_iterator*)); + GIT_ERROR_CHECK_ALLOC(iterators); + + iterators[0] = our_iter; + + for(i = 0; i < their_iters_len; i++) { + iterators[i + 1] = their_iters[i]; + } + + for (i = 0; i < iters_len - 1; i++) { + for(j = i + 1; j < iters_len; j++) { + find_data = (struct merge_diff_find_data){ diff_list }; + + /* Reset the ancestor iterator, since it is always walked. */ + git_iterator_reset(ancestor_iter); + /* Reset the "ours" iterator since it may have previously been walked. */ + git_iterator_reset(iterators[i]); + /* "theirs" will get reset once it takes the "ours" spot on the next loop */ + + curr_iterators[0] = ancestor_iter; + curr_iterators[1] = iterators[i]; + curr_iterators[2] = iterators[j]; + + if ((error = git_iterator_walk(curr_iterators, 3, queue_difference, &find_data)) < 0) + goto done; + } + } - return git_iterator_walk(iterators, 3, queue_difference, &find_data); +done: + git__free(iterators); + + return error; } git_merge_diff_list *git_merge_diff_list__alloc(git_repository *repo) @@ -2101,12 +2136,13 @@ int git_merge__iterators( git_repository *repo, git_iterator *ancestor_iter, git_iterator *our_iter, - git_iterator *theirs_iter, + git_iterator **theirs_iters, + size_t theirs_iters_len, const git_merge_options *given_opts) { git_iterator *empty_ancestor = NULL, - *empty_ours = NULL, - *empty_theirs = NULL; + *empty_ours = NULL; + git_iterator **empty_theirs_iters; git_merge_diff_list *diff_list; git_merge_options opts; git_merge_file_options file_opts = GIT_MERGE_FILE_OPTIONS_INIT; @@ -2114,6 +2150,7 @@ int git_merge__iterators( git_vector changes; size_t i; int error = 0; + bool is_octopus = theirs_iters_len > 1; GIT_ASSERT_ARG(out); GIT_ASSERT_ARG(repo); @@ -2138,15 +2175,27 @@ int git_merge__iterators( file_opts.marker_size = GIT_MERGE_CONFLICT_MARKER_SIZE + 2; } + /* set fail on merge conflict for octopus merge */ + if (is_octopus) { + opts.flags |= GIT_MERGE_FAIL_ON_CONFLICT; + file_opts.flags &= ~GIT_MERGE_FILE_ACCEPT_CONFLICTS; + } + diff_list = git_merge_diff_list__alloc(repo); GIT_ERROR_CHECK_ALLOC(diff_list); ancestor_iter = iterator_given_or_empty(&empty_ancestor, ancestor_iter); our_iter = iterator_given_or_empty(&empty_ours, our_iter); - theirs_iter = iterator_given_or_empty(&empty_theirs, theirs_iter); + + empty_theirs_iters = git__calloc(theirs_iters_len, sizeof(git_iterator*)); + GIT_ERROR_CHECK_ALLOC(empty_theirs_iters); + for (i = 0; i < theirs_iters_len; i++) { + theirs_iters[i] = iterator_given_or_empty(&empty_theirs_iters[i], + theirs_iters[i]); + } if ((error = git_merge_diff_list__find_differences( - diff_list, ancestor_iter, our_iter, theirs_iter)) < 0 || + diff_list, ancestor_iter, our_iter, theirs_iters, theirs_iters_len)) < 0 || (error = git_merge_diff_list__find_renames(repo, diff_list, &opts)) < 0) goto done; @@ -2160,9 +2209,13 @@ int git_merge__iterators( &resolved, diff_list, conflict, &opts, &file_opts)) < 0) goto done; - if (!resolved) { + if (!resolved) { if ((opts.flags & GIT_MERGE_FAIL_ON_CONFLICT)) { - git_error_set(GIT_ERROR_MERGE, "merge conflicts exist"); + if (is_octopus) + git_error_set(GIT_ERROR_MERGE, "Automated merge did not work.\n" + "Should not be doing an octopus."); + else + git_error_set(GIT_ERROR_MERGE, "merge conflicts exist"); error = GIT_EMERGECONFLICT; goto done; } @@ -2183,7 +2236,9 @@ int git_merge__iterators( git_merge_diff_list__free(diff_list); git_iterator_free(empty_ancestor); git_iterator_free(empty_ours); - git_iterator_free(empty_theirs); + for (i = 0; i < theirs_iters_len; i++) + git_iterator_free(empty_theirs_iters[i]); + git__free(empty_theirs_iters); return error; } @@ -2233,7 +2288,7 @@ int git_merge_trees( goto done; error = git_merge__iterators( - out, repo, ancestor_iter, our_iter, their_iter, merge_opts); + out, repo, ancestor_iter, our_iter, &their_iter, 1, merge_opts); done: git_iterator_free(ancestor_iter); @@ -2248,7 +2303,8 @@ static int merge_annotated_commits( git_annotated_commit **base_out, git_repository *repo, git_annotated_commit *our_commit, - git_annotated_commit *their_commit, + const git_annotated_commit **their_commits, + size_t their_commits_len, size_t recursion_level, const git_merge_options *opts); @@ -2297,8 +2353,9 @@ static int create_virtual_base( virtual_opts.flags &= ~GIT_MERGE_FAIL_ON_CONFLICT; virtual_opts.flags |= GIT_MERGE_VIRTUAL_BASE; - if ((merge_annotated_commits(&index, NULL, repo, one, two, - recursion_level + 1, &virtual_opts)) < 0) + if ((merge_annotated_commits(&index, NULL, repo, one, + (const git_annotated_commit **)&two, 1, + recursion_level + 1, &virtual_opts)) < 0) return -1; result = git__calloc(1, sizeof(git_annotated_commit)); @@ -2389,6 +2446,55 @@ static int compute_base( return error; } +static int compute_base_octopus( + git_annotated_commit **out, + git_repository *repo, + const git_annotated_commit *one, + const git_annotated_commit **twos, + size_t twos_len, + const git_merge_options *given_opts) +{ + git_array_oid_t head_ids = GIT_ARRAY_INIT; + git_oid base_id; + git_annotated_commit *base = NULL; + git_merge_options opts = GIT_MERGE_OPTIONS_INIT; + size_t i; + int error; + + *out = NULL; + + if (given_opts) + memcpy(&opts, given_opts, sizeof(git_merge_options)); + + /* With more than two commits, merge_bases_many finds the base of + * the first commit and a hypothetical merge of the others. Since + * "one" may itself be a virtual commit, which insert_head_ids + * substitutes multiple ancestors for, it needs to be added + * after "two" which is always a single real commit. + */ + for (i = 0; i < twos_len; i++) { + if ((error = insert_head_ids(&head_ids, twos[i])) < 0) + goto done; + + } + if ((error = insert_head_ids(&head_ids, one)) < 0 || + (error = git_merge_base_octopus(&base_id, repo, + head_ids.size, head_ids.ptr)) < 0) + goto done; + + if ((error = git_annotated_commit_lookup(&base, repo, &base_id)) < 0) + goto done; + +done: + if (error == 0) + *out = base; + else + git_annotated_commit_free(base); + + git_array_clear(head_ids); + return error; +} + static int iterator_for_annotated_commit( git_iterator **out, git_annotated_commit *commit) @@ -2419,17 +2525,27 @@ static int merge_annotated_commits( git_annotated_commit **base_out, git_repository *repo, git_annotated_commit *ours, - git_annotated_commit *theirs, + const git_annotated_commit **their_commits, + size_t their_commits_len, size_t recursion_level, const git_merge_options *opts) { - git_annotated_commit *base = NULL; + git_annotated_commit *base = NULL, *prev_base = ours; git_iterator *base_iter = NULL, *our_iter = NULL, *their_iter = NULL; int error; + size_t i; + git_iterator **their_iters; + bool is_octopus = their_commits_len > 1; - if ((error = compute_base(&base, repo, ours, theirs, opts, - recursion_level)) < 0) { + their_iters = git__calloc(their_commits_len, sizeof(git_iterator*)); + /* TODO: write test confirming that the base is as expected*/ + if (is_octopus) { + if ((error = compute_base_octopus(&base, repo, ours, their_commits, + their_commits_len, opts)) < 0) + goto done; + } else if ((error = compute_base(&base, repo, prev_base, their_commits[0], + opts, recursion_level)) < 0) { if (error != GIT_ENOTFOUND) goto done; @@ -2437,10 +2553,22 @@ static int merge_annotated_commits( } if ((error = iterator_for_annotated_commit(&base_iter, base)) < 0 || - (error = iterator_for_annotated_commit(&our_iter, ours)) < 0 || - (error = iterator_for_annotated_commit(&their_iter, theirs)) < 0 || - (error = git_merge__iterators(index_out, repo, base_iter, our_iter, - their_iter, opts)) < 0) + (error = iterator_for_annotated_commit(&our_iter, ours)) < 0) + goto done; + + if (is_octopus) { + /* TODO: remove ancestor commits */ + } + + for (i = 0; i < their_commits_len; i++) { + if((error = iterator_for_annotated_commit(&their_iter, + (git_annotated_commit *)their_commits[i])) < 0) + goto done; + their_iters[i] = their_iter; + } + + if ((error = git_merge__iterators(index_out, repo, base_iter, our_iter, + their_iters, their_commits_len, opts)) < 0) goto done; if (base_out) { @@ -2449,14 +2577,17 @@ static int merge_annotated_commits( } done: + /* TODO: check for memory leaks */ git_annotated_commit_free(base); git_iterator_free(base_iter); git_iterator_free(our_iter); - git_iterator_free(their_iter); + for(i = 0; i < their_commits_len; i++) { + git_iterator_free(their_iters[i]); + } + git__free(their_iters); return error; } - int git_merge_commits( git_index **out, git_repository *repo, @@ -2471,7 +2602,8 @@ int git_merge_commits( (error = git_annotated_commit_from_commit(&theirs, (git_commit *)their_commit)) < 0) goto done; - error = merge_annotated_commits(out, &base, repo, ours, theirs, 0, opts); + error = merge_annotated_commits(out, &base, repo, ours, + (const git_annotated_commit **)&theirs, 1, 0, opts); done: git_annotated_commit_free(ours); @@ -3347,10 +3479,10 @@ int git_merge( GIT_ASSERT_ARG(repo); GIT_ASSERT_ARG(their_heads && their_heads_len > 0); - if (their_heads_len != 1) { - git_error_set(GIT_ERROR_MERGE, "can only merge a single branch"); - return -1; - } + /* if (their_heads_len != 1) { */ + /* git_error_set(GIT_ERROR_MERGE, "can only merge a single branch"); */ + /* return -1; */ + /* } */ if ((error = git_repository__ensure_not_bare(repo, "merge")) < 0) goto done; @@ -3363,7 +3495,7 @@ int git_merge( goto done; if ((error = git_repository_index(&repo_index, repo) < 0) || - (error = git_index_read(repo_index, 0) < 0)) + (error = git_index_read(repo_index, 0) < 0)) goto done; /* Write the merge setup files to the repository. */ @@ -3372,10 +3504,9 @@ int git_merge( their_heads_len)) < 0) goto done; - /* TODO: octopus */ - + /* Run octopus merge if there is more than one `their_heads` */ if ((error = merge_annotated_commits(&index, &base, repo, our_head, - (git_annotated_commit *)their_heads[0], 0, merge_opts)) < 0 || + their_heads, their_heads_len, 0, merge_opts)) < 0 || (error = git_merge__check_result(repo, index)) < 0 || (error = git_merge__append_conflicts_to_merge_msg(repo, index)) < 0) goto done; diff --git a/src/libgit2/merge.h b/src/libgit2/merge.h index 23932905e80..f45c8f602f8 100644 --- a/src/libgit2/merge.h +++ b/src/libgit2/merge.h @@ -129,7 +129,8 @@ int git_merge_diff_list__find_differences( git_merge_diff_list *merge_diff_list, git_iterator *ancestor_iterator, git_iterator *ours_iter, - git_iterator *theirs_iter); + git_iterator **theirs_iters, + size_t theirs_iters_len); int git_merge_diff_list__find_renames(git_repository *repo, git_merge_diff_list *merge_diff_list, const git_merge_options *opts); @@ -148,7 +149,8 @@ int git_merge__iterators( git_repository *repo, git_iterator *ancestor_iter, git_iterator *our_iter, - git_iterator *their_iter, + git_iterator **their_iters, + size_t their_iters_len, const git_merge_options *given_opts); int git_merge__check_result(git_repository *repo, git_index *index_new); diff --git a/src/libgit2/stash.c b/src/libgit2/stash.c index 23c82b408fd..447dea29854 100644 --- a/src/libgit2/stash.c +++ b/src/libgit2/stash.c @@ -885,7 +885,7 @@ static int merge_indexes( (error = git_iterator_for_index(&theirs, repo, theirs_index, &iter_opts)) < 0) goto done; - error = git_merge__iterators(out, repo, ancestor, ours, theirs, NULL); + error = git_merge__iterators(out, repo, ancestor, ours, &theirs, 1, NULL); done: git_iterator_free(ancestor); @@ -912,7 +912,7 @@ static int merge_index_and_tree( (error = git_iterator_for_tree(&theirs, theirs_tree, &iter_opts)) < 0) goto done; - error = git_merge__iterators(out, repo, ancestor, ours, theirs, NULL); + error = git_merge__iterators(out, repo, ancestor, ours, &theirs, 1, NULL); done: git_iterator_free(ancestor); diff --git a/tests/libgit2/merge/octopus/complex.c b/tests/libgit2/merge/octopus/complex.c new file mode 100644 index 00000000000..092e868f33e --- /dev/null +++ b/tests/libgit2/merge/octopus/complex.c @@ -0,0 +1,133 @@ +#include "clar_libgit2.h" +#include "git2/repository.h" +#include "git2/merge.h" +#include "merge.h" +#include "../merge_helpers.h" +#include "../conflict_data.h" +#include "refs.h" +#include "futils.h" + +static git_repository *repo; +static git_index *repo_index; + +#define TEST_REPO_PATH "merge-octopus-complex" +#define TEST_INDEX_PATH TEST_REPO_PATH "/.git/index" + +#define THEIRS_SIMPLE_BRANCHES {"1", "1a", "1b", "2", "2a", "3", "t1", "t2"} +#define THEIRS_SIMPLE_OIDS {"5136b71930b78146dfbe5f4c080c54e05b1f884a", \ + "e2161c7b0ef124afe04c553fbd6f8e8156b947f5", \ + "6d7a0948633012aa9038274538f76c968497b2ea", \ + "1b7ad0f7343ff9ce03703cc40cf775b0e9cc57fe", \ + "a49a6a4c527b223a1bdc1ae45e1260e1d041bf12", \ + "75f1c450c1196e953e1dbfab827765a19623c856", \ + "026a849d3c17944b00bd2de4840591df30852769", \ + "96e602252e180110495f303b6164a7d1158de595"} + +#define OUR_TARGET_BRANCH "t" +#define NUM_COMMITS 8 + +#define INDEX_ENTRY_1_TXT \ + { 0100644, "e7c1228a15149b7459531590842ff5e610e1a5c5", 0, \ + "1.txt" } + +#define INDEX_ENTRY_1A_TXT \ + { 0100644, "5ba15720d00755ff42ae0b7a3628c08326958ca7", 0, \ + "1a.txt" } + +#define INDEX_ENTRY_1B_TXT \ + { 0100644, "2481a2cc662ce05a7f0e52bd283403654a24d61c", 0, \ + "1b.txt" } + +#define INDEX_ENTRY_2_TXT \ + { 0100644, "b2b120f3b488e6f80674f6b5c89aaec152485c66", 0, \ + "2.txt" } + +#define INDEX_ENTRY_2A_TXT \ + { 0100644, "09f4002ed8b3d379ac0f9322f9679c1006172bc3", 0, \ + "2a.txt" } + +#define INDEX_ENTRY_3_TXT \ + { 0100644, "88a56d9ad6353e551de6d5025348e413b1c5d13f", 0, \ + "3.txt" } + +#define INDEX_ENTRY_MASTER_TXT \ + { 0100644, "1f7391f92b6a3792204e07e99f71f643cc35e7e1", 0, \ + "master.txt" } + +#define INDEX_ENTRY_T_TXT \ + { 0100644, "4b4d41231929d23b3f1de89c00b339831ebaa2b4", 0, \ + "t.txt" } + +#define INDEX_ENTRY_T1_TXT \ + { 0100644, "ccfe29d825cb6476a3b1bf27d68a3edd4fd86c0b", 0, \ + "t1.txt" } + +#define INDEX_ENTRY_T2_TXT \ + { 0100644, "5fe609a987f5e38b5145ca136d5a0768629da47c", 0, \ + "t2.txt" } + +/* Fixture setup and teardown */ +void test_merge_octopus_complex__initialize(void) +{ + git_config *cfg; + + repo = cl_git_sandbox_init(TEST_REPO_PATH); + git_repository_index(&repo_index, repo); + + /* Ensure that the user's merge.conflictstyle doesn't interfere */ + cl_git_pass(git_repository_config(&cfg, repo)); + cl_git_pass(git_config_set_string(cfg, "merge.conflictstyle", "merge")); + git_config_free(cfg); +} + +void test_merge_octopus_complex__cleanup(void) +{ + git_index_free(repo_index); + cl_git_sandbox_cleanup(); +} + +static void octopus_merge(int merge_file_favor, int addl_checkout_strategy) +{ + int i; + char* oid_strings[NUM_COMMITS] = THEIRS_SIMPLE_OIDS; + git_oid their_oids[NUM_COMMITS]; + git_annotated_commit *their_heads[NUM_COMMITS]; + git_merge_options merge_opts = GIT_MERGE_OPTIONS_INIT; + git_checkout_options checkout_opts = GIT_CHECKOUT_OPTIONS_INIT; + + for(i = 0; i < NUM_COMMITS; ++i) { + cl_git_pass(git_oid_from_string(&their_oids[i], oid_strings[i], GIT_OID_SHA1)); + cl_git_pass(git_annotated_commit_lookup(&their_heads[i], repo, &their_oids[i])); + } + + merge_opts.file_favor = merge_file_favor; + checkout_opts.checkout_strategy = GIT_CHECKOUT_ALLOW_CONFLICTS | + addl_checkout_strategy; + + cl_git_pass(git_merge(repo, (const git_annotated_commit **)their_heads, NUM_COMMITS, &merge_opts, &checkout_opts)); + + for(i = 0; i < NUM_COMMITS; ++i) { + git_annotated_commit_free(their_heads[i]); + } +} + +void test_merge_octopus_complex__merge_multiple_commits(void) +{ + struct merge_index_entry merge_index_entries[] = { + INDEX_ENTRY_1_TXT, + INDEX_ENTRY_1A_TXT, + INDEX_ENTRY_1B_TXT, + INDEX_ENTRY_2_TXT, + INDEX_ENTRY_2A_TXT, + INDEX_ENTRY_3_TXT, + INDEX_ENTRY_MASTER_TXT, + INDEX_ENTRY_T_TXT, + INDEX_ENTRY_T1_TXT, + INDEX_ENTRY_T2_TXT + }; + + octopus_merge(0, 0); + + cl_assert(merge_test_index(repo_index, merge_index_entries, 10)); +} + diff --git a/tests/libgit2/merge/octopus/fail.c b/tests/libgit2/merge/octopus/fail.c new file mode 100644 index 00000000000..f13f7d99ec5 --- /dev/null +++ b/tests/libgit2/merge/octopus/fail.c @@ -0,0 +1,70 @@ +#include "clar_libgit2.h" +#include "git2/repository.h" +#include "git2/merge.h" +#include "merge.h" +#include "../merge_helpers.h" +#include "../conflict_data.h" +#include "refs.h" +#include "futils.h" + +static git_repository *repo; +static git_index *repo_index; + +#define TEST_REPO_PATH "merge-octopus-fail" +#define TEST_INDEX_PATH TEST_REPO_PATH "/.git/index" + +#define THEIRS_SIMPLE_BRANCHES {"1", "2", "3"} +#define THEIRS_SIMPLE_OIDS {"5b9e238671e7c9ed38a33485d22067627f35ff06", \ + "7264ba67a9dde172fabc107220de0a4595e361ec", \ + "38a54de2588abfef1a68110466c233d63ab0b3dd"} + +#define OUR_TARGET_BRANCH "t" +#define OUR_TARGET_OID "814d989bbd2a92142c6655980fc2108b8b6c666e" +#define NUM_COMMITS 3 + + +/* Fixture setup and teardown */ +void test_merge_octopus_fail__initialize(void) +{ + git_config *cfg; + + repo = cl_git_sandbox_init(TEST_REPO_PATH); + git_repository_index(&repo_index, repo); + + /* Ensure that the user's merge.conflictstyle doesn't interfere */ + cl_git_pass(git_repository_config(&cfg, repo)); + cl_git_pass(git_config_set_string(cfg, "merge.conflictstyle", "merge")); + git_config_free(cfg); +} + +void test_merge_octopus_fail__cleanup(void) +{ + git_index_free(repo_index); + cl_git_sandbox_cleanup(); +} + +void test_merge_octopus_fail__fail_to_merge(void) +{ + + int i; + char* oid_strings[NUM_COMMITS] = THEIRS_SIMPLE_OIDS; + git_oid their_oids[NUM_COMMITS]; + git_annotated_commit *their_heads[NUM_COMMITS]; + git_merge_options merge_opts = GIT_MERGE_OPTIONS_INIT; + git_checkout_options checkout_opts = GIT_CHECKOUT_OPTIONS_INIT; + + for(i = 0; i < NUM_COMMITS; ++i) { + cl_git_pass(git_oid_from_string(&their_oids[i], oid_strings[i], GIT_OID_SHA1)); + cl_git_pass(git_annotated_commit_lookup(&their_heads[i], repo, &their_oids[i])); + } + + merge_opts.file_favor = 0; + checkout_opts.checkout_strategy = GIT_CHECKOUT_ALLOW_CONFLICTS; + + cl_git_fail_with(GIT_EMERGECONFLICT, git_merge(repo, (const git_annotated_commit **)their_heads, NUM_COMMITS, &merge_opts, &checkout_opts)); + + for(i = 0; i < NUM_COMMITS; ++i) { + git_annotated_commit_free(their_heads[i]); + } +} + diff --git a/tests/libgit2/merge/octopus/simple.c b/tests/libgit2/merge/octopus/simple.c new file mode 100644 index 00000000000..465bdb4b910 --- /dev/null +++ b/tests/libgit2/merge/octopus/simple.c @@ -0,0 +1,110 @@ +#include "clar_libgit2.h" +#include "git2/repository.h" +#include "git2/merge.h" +#include "merge.h" +#include "../merge_helpers.h" +#include "../conflict_data.h" +#include "refs.h" +#include "futils.h" + +static git_repository *repo; +static git_index *repo_index; + +#define TEST_REPO_PATH "merge-octopus" +#define TEST_INDEX_PATH TEST_REPO_PATH "/.git/index" + +#define THEIRS_SIMPLE_BRANCHES {"branch1", "branch1-b", "branch2", "branch3"} +#define THEIRS_SIMPLE_OIDS {"a4f76792d9bbf5a939cfc43a7a0df48bd8f0efb2", \ + "d5b8b3e29080838047c80e139d46d381c8200253", \ + "b904bbfb2674a1df716feaf9cc30c51ca4e2f351", \ + "07f14b3a5eeb7d6db41f03bf7f29d5a404d9de16"} + +#define OUR_TARGET_BRANCH "target" +#define NUM_COMMITS 4 + +#define COMMON_BASE_OID "b9fe1c1159fbfa8235ea0e5487174ab7703fa3d7" + +#define BRANCH1_INDEX_ENTRY \ + { 0100644, "206e7338ee5863b438f3f0602f0c0e5ca89fd7a6", 0, \ + "added-in-branch1.txt" } + +#define BRANCH1_B_INDEX_ENTRY \ + { 0100644, "4652cb85053eb3a0cb857f62424cf1fce149ef6f", 0, \ + "added-in-branch1.txt" } + +#define BRANCH2_INDEX_ENTRY \ + { 0100644, "bc8359fca4381e671000798bd503470f6173c54d", 0, \ + "added-in-branch2.txt" } + +#define BRANCH3_INDEX_ENTRY \ + { 0100644, "7faf136975b6a6193d6d7afec973af738d7bea91", 0, \ + "added-in-branch3.txt" } + +#define MASTER_INDEX_ENTRY \ + { 0100644, "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391", 0, \ + "added-in-master.txt" } + +#define OUR_INDEX_ENTRY \ + { 0100644, "9fa7335e756cc1df8cbbce492cd270340042fade", 0, \ + "added-in-target.txt" } + +/* Fixture setup and teardown */ +void test_merge_octopus_simple__initialize(void) +{ + git_config *cfg; + + repo = cl_git_sandbox_init(TEST_REPO_PATH); + git_repository_index(&repo_index, repo); + + /* Ensure that the user's merge.conflictstyle doesn't interfere */ + cl_git_pass(git_repository_config(&cfg, repo)); + cl_git_pass(git_config_set_string(cfg, "merge.conflictstyle", "merge")); + git_config_free(cfg); +} + +void test_merge_octopus_simple__cleanup(void) +{ + git_index_free(repo_index); + cl_git_sandbox_cleanup(); +} + +static void octopus_merge(int merge_file_favor, int addl_checkout_strategy) +{ + int i; + char* oid_strings[NUM_COMMITS] = THEIRS_SIMPLE_OIDS; + git_oid their_oids[NUM_COMMITS]; + git_annotated_commit *their_heads[NUM_COMMITS]; + git_merge_options merge_opts = GIT_MERGE_OPTIONS_INIT; + git_checkout_options checkout_opts = GIT_CHECKOUT_OPTIONS_INIT; + + for(i = 0; i < NUM_COMMITS; ++i) { + cl_git_pass(git_oid_from_string(&their_oids[i], oid_strings[i], GIT_OID_SHA1)); + cl_git_pass(git_annotated_commit_lookup(&their_heads[i], repo, &their_oids[i])); + } + + merge_opts.file_favor = merge_file_favor; + checkout_opts.checkout_strategy = GIT_CHECKOUT_ALLOW_CONFLICTS | + addl_checkout_strategy; + + cl_git_pass(git_merge(repo, (const git_annotated_commit **)their_heads, NUM_COMMITS, &merge_opts, &checkout_opts)); + + for(i = 0; i < NUM_COMMITS; ++i) { + git_annotated_commit_free(their_heads[i]); + } +} + +void test_merge_octopus_simple__merge_multiple_commits(void) +{ + struct merge_index_entry merge_index_entries[] = { + BRANCH1_B_INDEX_ENTRY, + BRANCH2_INDEX_ENTRY, + BRANCH3_INDEX_ENTRY, + MASTER_INDEX_ENTRY, + OUR_INDEX_ENTRY + }; + + octopus_merge(0, 0); + + cl_assert(merge_test_index(repo_index, merge_index_entries, 5)); +} + diff --git a/tests/libgit2/merge/trees/treediff.c b/tests/libgit2/merge/trees/treediff.c index 5c786f12250..539b331cd1e 100644 --- a/tests/libgit2/merge/trees/treediff.c +++ b/tests/libgit2/merge/trees/treediff.c @@ -75,7 +75,7 @@ static void test_find_differences( cl_git_pass(git_iterator_for_tree(&ours_iter, ours_tree, &iter_opts)); cl_git_pass(git_iterator_for_tree(&theirs_iter, theirs_tree, &iter_opts)); - cl_git_pass(git_merge_diff_list__find_differences(merge_diff_list, ancestor_iter, ours_iter, theirs_iter)); + cl_git_pass(git_merge_diff_list__find_differences(merge_diff_list, ancestor_iter, ours_iter, &theirs_iter, 1)); cl_git_pass(git_merge_diff_list__find_renames(repo, merge_diff_list, &opts)); /* diff --git a/tests/resources/merge-octopus-complex/.gitted/COMMIT_EDITMSG b/tests/resources/merge-octopus-complex/.gitted/COMMIT_EDITMSG new file mode 100644 index 00000000000..5dfe14a3647 --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/COMMIT_EDITMSG @@ -0,0 +1 @@ +append in 2 again diff --git a/tests/resources/merge-octopus-complex/.gitted/HEAD b/tests/resources/merge-octopus-complex/.gitted/HEAD new file mode 100644 index 00000000000..ba145a662e4 --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/HEAD @@ -0,0 +1 @@ +ref: refs/heads/t diff --git a/tests/resources/merge-octopus-complex/.gitted/ORIG_HEAD b/tests/resources/merge-octopus-complex/.gitted/ORIG_HEAD new file mode 100644 index 00000000000..328c31a3918 --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/ORIG_HEAD @@ -0,0 +1 @@ +bc514b1b37cf78eaf5694b32e4d2e6f27ffdeffc diff --git a/tests/resources/merge-octopus-complex/.gitted/config b/tests/resources/merge-octopus-complex/.gitted/config new file mode 100644 index 00000000000..515f4836297 --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/config @@ -0,0 +1,5 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true diff --git a/tests/resources/merge-octopus-complex/.gitted/description b/tests/resources/merge-octopus-complex/.gitted/description new file mode 100644 index 00000000000..498b267a8c7 --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/tests/resources/merge-octopus-complex/.gitted/hooks/applypatch-msg.sample b/tests/resources/merge-octopus-complex/.gitted/hooks/applypatch-msg.sample new file mode 100755 index 00000000000..a5d7b84a673 --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/hooks/applypatch-msg.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +commitmsg="$(git rev-parse --git-path hooks/commit-msg)" +test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"} +: diff --git a/tests/resources/merge-octopus-complex/.gitted/hooks/commit-msg.sample b/tests/resources/merge-octopus-complex/.gitted/hooks/commit-msg.sample new file mode 100755 index 00000000000..b58d1184a9d --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/hooks/commit-msg.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/tests/resources/merge-octopus-complex/.gitted/hooks/fsmonitor-watchman.sample b/tests/resources/merge-octopus-complex/.gitted/hooks/fsmonitor-watchman.sample new file mode 100755 index 00000000000..23e856f5dee --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/hooks/fsmonitor-watchman.sample @@ -0,0 +1,174 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use IPC::Open2; + +# An example hook script to integrate Watchman +# (https://facebook.github.io/watchman/) with git to speed up detecting +# new and modified files. +# +# The hook is passed a version (currently 2) and last update token +# formatted as a string and outputs to stdout a new update token and +# all files that have been modified since the update token. Paths must +# be relative to the root of the working tree and separated by a single NUL. +# +# To enable this hook, rename this file to "query-watchman" and set +# 'git config core.fsmonitor .git/hooks/query-watchman' +# +my ($version, $last_update_token) = @ARGV; + +# Uncomment for debugging +# print STDERR "$0 $version $last_update_token\n"; + +# Check the hook interface version +if ($version ne 2) { + die "Unsupported query-fsmonitor hook version '$version'.\n" . + "Falling back to scanning...\n"; +} + +my $git_work_tree = get_working_dir(); + +my $retry = 1; + +my $json_pkg; +eval { + require JSON::XS; + $json_pkg = "JSON::XS"; + 1; +} or do { + require JSON::PP; + $json_pkg = "JSON::PP"; +}; + +launch_watchman(); + +sub launch_watchman { + my $o = watchman_query(); + if (is_work_tree_watched($o)) { + output_result($o->{clock}, @{$o->{files}}); + } +} + +sub output_result { + my ($clockid, @files) = @_; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # binmode $fh, ":utf8"; + # print $fh "$clockid\n@files\n"; + # close $fh; + + binmode STDOUT, ":utf8"; + print $clockid; + print "\0"; + local $, = "\0"; + print @files; +} + +sub watchman_clock { + my $response = qx/watchman clock "$git_work_tree"/; + die "Failed to get clock id on '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + + return $json_pkg->new->utf8->decode($response); +} + +sub watchman_query { + my $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'watchman -j --no-pretty') + or die "open2() failed: $!\n" . + "Falling back to scanning...\n"; + + # In the query expression below we're asking for names of files that + # changed since $last_update_token but not from the .git folder. + # + # To accomplish this, we're using the "since" generator to use the + # recency index to select candidate nodes and "fields" to limit the + # output to file names only. Then we're using the "expression" term to + # further constrain the results. + my $last_update_line = ""; + if (substr($last_update_token, 0, 1) eq "c") { + $last_update_token = "\"$last_update_token\""; + $last_update_line = qq[\n"since": $last_update_token,]; + } + my $query = <<" END"; + ["query", "$git_work_tree", {$last_update_line + "fields": ["name"], + "expression": ["not", ["dirname", ".git"]] + }] + END + + # Uncomment for debugging the watchman query + # open (my $fh, ">", ".git/watchman-query.json"); + # print $fh $query; + # close $fh; + + print CHLD_IN $query; + close CHLD_IN; + my $response = do {local $/; }; + + # Uncomment for debugging the watch response + # open ($fh, ">", ".git/watchman-response.json"); + # print $fh $response; + # close $fh; + + die "Watchman: command returned no output.\n" . + "Falling back to scanning...\n" if $response eq ""; + die "Watchman: command returned invalid output: $response\n" . + "Falling back to scanning...\n" unless $response =~ /^\{/; + + return $json_pkg->new->utf8->decode($response); +} + +sub is_work_tree_watched { + my ($output) = @_; + my $error = $output->{error}; + if ($retry > 0 and $error and $error =~ m/unable to resolve root .* directory (.*) is not watched/) { + $retry--; + my $response = qx/watchman watch "$git_work_tree"/; + die "Failed to make watchman watch '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + $output = $json_pkg->new->utf8->decode($response); + $error = $output->{error}; + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # close $fh; + + # Watchman will always return all files on the first query so + # return the fast "everything is dirty" flag to git and do the + # Watchman query just to get it over with now so we won't pay + # the cost in git to look up each individual file. + my $o = watchman_clock(); + $error = $output->{error}; + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + output_result($o->{clock}, ("/")); + $last_update_token = $o->{clock}; + + eval { launch_watchman() }; + return 0; + } + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + return 1; +} + +sub get_working_dir { + my $working_dir; + if ($^O =~ 'msys' || $^O =~ 'cygwin') { + $working_dir = Win32::GetCwd(); + $working_dir =~ tr/\\/\//; + } else { + require Cwd; + $working_dir = Cwd::cwd(); + } + + return $working_dir; +} diff --git a/tests/resources/merge-octopus-complex/.gitted/hooks/post-update.sample b/tests/resources/merge-octopus-complex/.gitted/hooks/post-update.sample new file mode 100755 index 00000000000..ec17ec1939b --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/hooks/post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/tests/resources/merge-octopus-complex/.gitted/hooks/pre-applypatch.sample b/tests/resources/merge-octopus-complex/.gitted/hooks/pre-applypatch.sample new file mode 100755 index 00000000000..4142082bcb9 --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/hooks/pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +precommit="$(git rev-parse --git-path hooks/pre-commit)" +test -x "$precommit" && exec "$precommit" ${1+"$@"} +: diff --git a/tests/resources/merge-octopus-complex/.gitted/hooks/pre-commit.sample b/tests/resources/merge-octopus-complex/.gitted/hooks/pre-commit.sample new file mode 100755 index 00000000000..e144712c85c --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/hooks/pre-commit.sample @@ -0,0 +1,49 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=$(git hash-object -t tree /dev/null) +fi + +# If you want to allow non-ASCII filenames set this variable to true. +allownonascii=$(git config --type=bool hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ASCII filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + cat <<\EOF +Error: Attempt to add a non-ASCII file name. + +This can cause problems if you want to work with people on other platforms. + +To be portable it is advisable to rename the file. + +If you know what you are doing you can disable this check using: + + git config hooks.allownonascii true +EOF + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/tests/resources/merge-octopus-complex/.gitted/hooks/pre-merge-commit.sample b/tests/resources/merge-octopus-complex/.gitted/hooks/pre-merge-commit.sample new file mode 100755 index 00000000000..399eab1924e --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/hooks/pre-merge-commit.sample @@ -0,0 +1,13 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git merge" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message to +# stderr if it wants to stop the merge commit. +# +# To enable this hook, rename this file to "pre-merge-commit". + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" +: diff --git a/tests/resources/merge-octopus-complex/.gitted/hooks/pre-push.sample b/tests/resources/merge-octopus-complex/.gitted/hooks/pre-push.sample new file mode 100755 index 00000000000..4ce688d32b7 --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/hooks/pre-push.sample @@ -0,0 +1,53 @@ +#!/bin/sh + +# An example hook script to verify what is about to be pushed. Called by "git +# push" after it has checked the remote status, but before anything has been +# pushed. If this script exits with a non-zero status nothing will be pushed. +# +# This hook is called with the following parameters: +# +# $1 -- Name of the remote to which the push is being done +# $2 -- URL to which the push is being done +# +# If pushing without using a named remote those arguments will be equal. +# +# Information about the commits which are being pushed is supplied as lines to +# the standard input in the form: +# +# +# +# This sample shows how to prevent push of commits where the log message starts +# with "WIP" (work in progress). + +remote="$1" +url="$2" + +zero=$(git hash-object --stdin &2 "Found WIP commit in $local_ref, not pushing" + exit 1 + fi + fi +done + +exit 0 diff --git a/tests/resources/merge-octopus-complex/.gitted/hooks/pre-rebase.sample b/tests/resources/merge-octopus-complex/.gitted/hooks/pre-rebase.sample new file mode 100755 index 00000000000..6cbef5c370d --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/hooks/pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up to date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /usr/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +<<\DOC_END + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". + +DOC_END diff --git a/tests/resources/merge-octopus-complex/.gitted/hooks/pre-receive.sample b/tests/resources/merge-octopus-complex/.gitted/hooks/pre-receive.sample new file mode 100755 index 00000000000..a1fd29ec148 --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/hooks/pre-receive.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to make use of push options. +# The example simply echoes all push options that start with 'echoback=' +# and rejects all pushes when the "reject" push option is used. +# +# To enable this hook, rename this file to "pre-receive". + +if test -n "$GIT_PUSH_OPTION_COUNT" +then + i=0 + while test "$i" -lt "$GIT_PUSH_OPTION_COUNT" + do + eval "value=\$GIT_PUSH_OPTION_$i" + case "$value" in + echoback=*) + echo "echo from the pre-receive-hook: ${value#*=}" >&2 + ;; + reject) + exit 1 + esac + i=$((i + 1)) + done +fi diff --git a/tests/resources/merge-octopus-complex/.gitted/hooks/prepare-commit-msg.sample b/tests/resources/merge-octopus-complex/.gitted/hooks/prepare-commit-msg.sample new file mode 100755 index 00000000000..10fa14c5ab0 --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/hooks/prepare-commit-msg.sample @@ -0,0 +1,42 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first one removes the +# "# Please enter the commit message..." help message. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +COMMIT_MSG_FILE=$1 +COMMIT_SOURCE=$2 +SHA1=$3 + +/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE" + +# case "$COMMIT_SOURCE,$SHA1" in +# ,|template,) +# /usr/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;; +# *) ;; +# esac + +# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE" +# if test -z "$COMMIT_SOURCE" +# then +# /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE" +# fi diff --git a/tests/resources/merge-octopus-complex/.gitted/hooks/push-to-checkout.sample b/tests/resources/merge-octopus-complex/.gitted/hooks/push-to-checkout.sample new file mode 100755 index 00000000000..af5a0c0018b --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/hooks/push-to-checkout.sample @@ -0,0 +1,78 @@ +#!/bin/sh + +# An example hook script to update a checked-out tree on a git push. +# +# This hook is invoked by git-receive-pack(1) when it reacts to git +# push and updates reference(s) in its repository, and when the push +# tries to update the branch that is currently checked out and the +# receive.denyCurrentBranch configuration variable is set to +# updateInstead. +# +# By default, such a push is refused if the working tree and the index +# of the remote repository has any difference from the currently +# checked out commit; when both the working tree and the index match +# the current commit, they are updated to match the newly pushed tip +# of the branch. This hook is to be used to override the default +# behaviour; however the code below reimplements the default behaviour +# as a starting point for convenient modification. +# +# The hook receives the commit with which the tip of the current +# branch is going to be updated: +commit=$1 + +# It can exit with a non-zero status to refuse the push (when it does +# so, it must not modify the index or the working tree). +die () { + echo >&2 "$*" + exit 1 +} + +# Or it can make any necessary changes to the working tree and to the +# index to bring them to the desired state when the tip of the current +# branch is updated to the new commit, and exit with a zero status. +# +# For example, the hook can simply run git read-tree -u -m HEAD "$1" +# in order to emulate git fetch that is run in the reverse direction +# with git push, as the two-tree form of git read-tree -u -m is +# essentially the same as git switch or git checkout that switches +# branches while keeping the local changes in the working tree that do +# not interfere with the difference between the branches. + +# The below is a more-or-less exact translation to shell of the C code +# for the default behaviour for git's push-to-checkout hook defined in +# the push_to_deploy() function in builtin/receive-pack.c. +# +# Note that the hook will be executed from the repository directory, +# not from the working tree, so if you want to perform operations on +# the working tree, you will have to adapt your code accordingly, e.g. +# by adding "cd .." or using relative paths. + +if ! git update-index -q --ignore-submodules --refresh +then + die "Up-to-date check failed" +fi + +if ! git diff-files --quiet --ignore-submodules -- +then + die "Working directory has unstaged changes" +fi + +# This is a rough translation of: +# +# head_has_history() ? "HEAD" : EMPTY_TREE_SHA1_HEX +if git cat-file -e HEAD 2>/dev/null +then + head=HEAD +else + head=$(git hash-object -t tree --stdin &2 + exit 1 +} + +unset GIT_DIR GIT_WORK_TREE +cd "$worktree" && + +if grep -q "^diff --git " "$1" +then + validate_patch "$1" +else + validate_cover_letter "$1" +fi && + +if test "$GIT_SENDEMAIL_FILE_COUNTER" = "$GIT_SENDEMAIL_FILE_TOTAL" +then + git config --unset-all sendemail.validateWorktree && + trap 'git worktree remove -ff "$worktree"' EXIT && + validate_series +fi diff --git a/tests/resources/merge-octopus-complex/.gitted/hooks/update.sample b/tests/resources/merge-octopus-complex/.gitted/hooks/update.sample new file mode 100755 index 00000000000..c4d426bc6ee --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/hooks/update.sample @@ -0,0 +1,128 @@ +#!/bin/sh +# +# An example hook script to block unannotated tags from entering. +# Called by "git receive-pack" with arguments: refname sha1-old sha1-new +# +# To enable this hook, rename this file to "update". +# +# Config +# ------ +# hooks.allowunannotated +# This boolean sets whether unannotated tags will be allowed into the +# repository. By default they won't be. +# hooks.allowdeletetag +# This boolean sets whether deleting tags will be allowed in the +# repository. By default they won't be. +# hooks.allowmodifytag +# This boolean sets whether a tag may be modified after creation. By default +# it won't be. +# hooks.allowdeletebranch +# This boolean sets whether deleting branches will be allowed in the +# repository. By default they won't be. +# hooks.denycreatebranch +# This boolean sets whether remotely creating branches will be denied +# in the repository. By default this is allowed. +# + +# --- Command line +refname="$1" +oldrev="$2" +newrev="$3" + +# --- Safety check +if [ -z "$GIT_DIR" ]; then + echo "Don't run this script from the command line." >&2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --type=bool hooks.allowunannotated) +allowdeletebranch=$(git config --type=bool hooks.allowdeletebranch) +denycreatebranch=$(git config --type=bool hooks.denycreatebranch) +allowdeletetag=$(git config --type=bool hooks.allowdeletetag) +allowmodifytag=$(git config --type=bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero=$(git hash-object --stdin &2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/tests/resources/merge-octopus-complex/.gitted/index b/tests/resources/merge-octopus-complex/.gitted/index new file mode 100644 index 00000000000..a013e56f499 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/index differ diff --git a/tests/resources/merge-octopus-complex/.gitted/info/exclude b/tests/resources/merge-octopus-complex/.gitted/info/exclude new file mode 100644 index 00000000000..a5196d1be8f --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/info/exclude @@ -0,0 +1,6 @@ +# git ls-files --others --exclude-from=.git/info/exclude +# Lines that start with '#' are comments. +# For a project mostly in C, the following would be a good set of +# exclude patterns (uncomment them if you want to use them): +# *.[oa] +# *~ diff --git a/tests/resources/merge-octopus-complex/.gitted/logs/HEAD b/tests/resources/merge-octopus-complex/.gitted/logs/HEAD new file mode 100644 index 00000000000..09110aef92b --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/logs/HEAD @@ -0,0 +1,60 @@ +0000000000000000000000000000000000000000 91a7496439d00cfb4e9f67f52d6a53b8d5bded08 Sam 1757531913 -0400 commit (initial): add in master +91a7496439d00cfb4e9f67f52d6a53b8d5bded08 91a7496439d00cfb4e9f67f52d6a53b8d5bded08 Sam 1757532095 -0400 checkout: moving from master to 3 +91a7496439d00cfb4e9f67f52d6a53b8d5bded08 75f1c450c1196e953e1dbfab827765a19623c856 Sam 1757532105 -0400 commit: add in 3 +75f1c450c1196e953e1dbfab827765a19623c856 91a7496439d00cfb4e9f67f52d6a53b8d5bded08 Sam 1757532114 -0400 checkout: moving from 3 to t +91a7496439d00cfb4e9f67f52d6a53b8d5bded08 bb06048f4c460f8ecdfc1d5875ccf223526f69e3 Sam 1757532136 -0400 commit: add in t +bb06048f4c460f8ecdfc1d5875ccf223526f69e3 bb06048f4c460f8ecdfc1d5875ccf223526f69e3 Sam 1757532154 -0400 checkout: moving from t to t1 +bb06048f4c460f8ecdfc1d5875ccf223526f69e3 b82129c4f65bf0580faa96bd71e79f4cc60d1b8f Sam 1757532171 -0400 commit: add in t1 +b82129c4f65bf0580faa96bd71e79f4cc60d1b8f f5683f65234808611aa6646e929bed6abcee51f8 Sam 1757532240 -0400 commit: append in t1 +f5683f65234808611aa6646e929bed6abcee51f8 f5683f65234808611aa6646e929bed6abcee51f8 Sam 1757532256 -0400 checkout: moving from t1 to t2 +f5683f65234808611aa6646e929bed6abcee51f8 96e602252e180110495f303b6164a7d1158de595 Sam 1757532275 -0400 commit: add in t2 +96e602252e180110495f303b6164a7d1158de595 bb06048f4c460f8ecdfc1d5875ccf223526f69e3 Sam 1757532301 -0400 checkout: moving from t2 to t +bb06048f4c460f8ecdfc1d5875ccf223526f69e3 5868f5abe74dd36115830b55afbb0d2ad1c93bbf Sam 1757532323 -0400 commit: append in t +5868f5abe74dd36115830b55afbb0d2ad1c93bbf 17012548651ab2c174d93e2e71d60f4f9020c6e5 Sam 1757532334 -0400 merge t1: Merge made by the 'ort' strategy. +17012548651ab2c174d93e2e71d60f4f9020c6e5 4d098dfd28cb2d3ee2312a42bc93bd9b6170a8cd Sam 1757532365 -0400 commit: append again in t +4d098dfd28cb2d3ee2312a42bc93bd9b6170a8cd 91a7496439d00cfb4e9f67f52d6a53b8d5bded08 Sam 1757532508 -0400 checkout: moving from t to 1 +91a7496439d00cfb4e9f67f52d6a53b8d5bded08 cf9ed0fedb7b478489deb14f8206e8ec3bd298e2 Sam 1757532520 -0400 commit: add in 1 +cf9ed0fedb7b478489deb14f8206e8ec3bd298e2 cf9ed0fedb7b478489deb14f8206e8ec3bd298e2 Sam 1757532530 -0400 checkout: moving from 1 to 1a +cf9ed0fedb7b478489deb14f8206e8ec3bd298e2 3bbd2a316578317f167b2c87fab3b2e4bebe311c Sam 1757532540 -0400 commit: add in 1a +3bbd2a316578317f167b2c87fab3b2e4bebe311c e2161c7b0ef124afe04c553fbd6f8e8156b947f5 Sam 1757532556 -0400 commit: append in 1a +e2161c7b0ef124afe04c553fbd6f8e8156b947f5 cf9ed0fedb7b478489deb14f8206e8ec3bd298e2 Sam 1757532563 -0400 checkout: moving from 1a to 1 +cf9ed0fedb7b478489deb14f8206e8ec3bd298e2 3e25ef4341e1ba0013f2fa65a9bf7298923180c5 Sam 1757532590 -0400 commit: append in 1 +3e25ef4341e1ba0013f2fa65a9bf7298923180c5 4d098dfd28cb2d3ee2312a42bc93bd9b6170a8cd Sam 1757532596 -0400 checkout: moving from 1 to t +4d098dfd28cb2d3ee2312a42bc93bd9b6170a8cd ec7080d7b13802e78dc64ef04b4ff218f7f3a06b Sam 1757532602 -0400 merge 1: Merge made by the 'ort' strategy. +ec7080d7b13802e78dc64ef04b4ff218f7f3a06b 3e25ef4341e1ba0013f2fa65a9bf7298923180c5 Sam 1757532611 -0400 checkout: moving from t to 1 +3e25ef4341e1ba0013f2fa65a9bf7298923180c5 3e25ef4341e1ba0013f2fa65a9bf7298923180c5 Sam 1757532624 -0400 checkout: moving from 1 to 1b +3e25ef4341e1ba0013f2fa65a9bf7298923180c5 862ab60ed43c93a8422127d157bb302ee221d501 Sam 1757532645 -0400 commit: add in 1b +862ab60ed43c93a8422127d157bb302ee221d501 3e25ef4341e1ba0013f2fa65a9bf7298923180c5 Sam 1757532651 -0400 checkout: moving from 1b to 1 +3e25ef4341e1ba0013f2fa65a9bf7298923180c5 268668726f5c7ec1e4d0f271ca2a33e464d8d82c Sam 1757532668 -0400 commit: append in 1 again +268668726f5c7ec1e4d0f271ca2a33e464d8d82c 5136b71930b78146dfbe5f4c080c54e05b1f884a Sam 1757532677 -0400 merge 1b: Merge made by the 'ort' strategy. +5136b71930b78146dfbe5f4c080c54e05b1f884a 862ab60ed43c93a8422127d157bb302ee221d501 Sam 1757532683 -0400 checkout: moving from 1 to 1b +862ab60ed43c93a8422127d157bb302ee221d501 6d7a0948633012aa9038274538f76c968497b2ea Sam 1757532698 -0400 commit: append in 1b +6d7a0948633012aa9038274538f76c968497b2ea f5683f65234808611aa6646e929bed6abcee51f8 Sam 1757532711 -0400 checkout: moving from 1b to t1 +f5683f65234808611aa6646e929bed6abcee51f8 026a849d3c17944b00bd2de4840591df30852769 Sam 1757532726 -0400 commit: append in t1 again +026a849d3c17944b00bd2de4840591df30852769 91a7496439d00cfb4e9f67f52d6a53b8d5bded08 Sam 1757532742 -0400 checkout: moving from t1 to 2 +91a7496439d00cfb4e9f67f52d6a53b8d5bded08 0d37365c81ee5756522b1d36512ceab166d88642 Sam 1757532758 -0400 commit: add in 2 +0d37365c81ee5756522b1d36512ceab166d88642 7b07a0f332d230329a3d50a17d8cbbab4546e7da Sam 1757532774 -0400 commit: append in 2 +7b07a0f332d230329a3d50a17d8cbbab4546e7da 7b07a0f332d230329a3d50a17d8cbbab4546e7da Sam 1757532793 -0400 checkout: moving from 2 to 2a +7b07a0f332d230329a3d50a17d8cbbab4546e7da a49a6a4c527b223a1bdc1ae45e1260e1d041bf12 Sam 1757532807 -0400 commit: add in 2a +a49a6a4c527b223a1bdc1ae45e1260e1d041bf12 7b07a0f332d230329a3d50a17d8cbbab4546e7da Sam 1757532814 -0400 checkout: moving from 2a to 2 +7b07a0f332d230329a3d50a17d8cbbab4546e7da 80194ba9314589065e1bd8099706ea3aaddc3500 Sam 1757532833 -0400 commit: append in 2 again +80194ba9314589065e1bd8099706ea3aaddc3500 1b7ad0f7343ff9ce03703cc40cf775b0e9cc57fe Sam 1757532850 -0400 merge t2: Merge made by the 'ort' strategy. +1b7ad0f7343ff9ce03703cc40cf775b0e9cc57fe ec7080d7b13802e78dc64ef04b4ff218f7f3a06b Sam 1757532864 -0400 checkout: moving from 2 to t +ec7080d7b13802e78dc64ef04b4ff218f7f3a06b ec7080d7b13802e78dc64ef04b4ff218f7f3a06b Sam 1757533150 -0400 checkout: moving from t to t +ec7080d7b13802e78dc64ef04b4ff218f7f3a06b 3201adfdb03218bd7e3eae1efb3123e42e97bd17 Sam 1757533158 -0400 merge 1 1a 1b 2 2a 3 t1: Merge made by the 'octopus' strategy. +3201adfdb03218bd7e3eae1efb3123e42e97bd17 ec7080d7b13802e78dc64ef04b4ff218f7f3a06b Sam 1757533168 -0400 reset: moving to HEAD~1 +ec7080d7b13802e78dc64ef04b4ff218f7f3a06b 87aeb35b1a705828a5f7b75e1357e79d8f6cb053 Sam 1757533178 -0400 merge 1 1a 1b 2 2a 3 t1: Merge made by the 'octopus' strategy. +87aeb35b1a705828a5f7b75e1357e79d8f6cb053 ec7080d7b13802e78dc64ef04b4ff218f7f3a06b Sam 1757533654 -0400 reset: moving to HEAD~1 +ec7080d7b13802e78dc64ef04b4ff218f7f3a06b 4f3284670d0041fc35440a527841f4ebe798c6a5 Sam 1757535492 -0400 merge 1 1a 1b 2 2a 3 t1: Merge made by the 'octopus' strategy. +4f3284670d0041fc35440a527841f4ebe798c6a5 ec7080d7b13802e78dc64ef04b4ff218f7f3a06b Sam 1757535512 -0400 reset: moving to HEAD~1 +ec7080d7b13802e78dc64ef04b4ff218f7f3a06b 91a7496439d00cfb4e9f67f52d6a53b8d5bded08 Sam 1757535696 -0400 checkout: moving from t to 91a7496439d00cfb4e9f67f52d6a53b8d5bded08 +91a7496439d00cfb4e9f67f52d6a53b8d5bded08 cab26cac417663466a9b99ad124cb8c95f33d138 Sam 1757535925 -0400 merge 1 1a 1b 2 2a 3 t1: Merge made by the 'octopus' strategy. +cab26cac417663466a9b99ad124cb8c95f33d138 5136b71930b78146dfbe5f4c080c54e05b1f884a Sam 1757535963 -0400 reset: moving to HEAD~1 +5136b71930b78146dfbe5f4c080c54e05b1f884a ec7080d7b13802e78dc64ef04b4ff218f7f3a06b Sam 1757630820 -0400 checkout: moving from 5136b71930b78146dfbe5f4c080c54e05b1f884a to t +ec7080d7b13802e78dc64ef04b4ff218f7f3a06b 4d098dfd28cb2d3ee2312a42bc93bd9b6170a8cd Sam 1757712432 -0400 reset: moving to HEAD~1 +4d098dfd28cb2d3ee2312a42bc93bd9b6170a8cd 5136b71930b78146dfbe5f4c080c54e05b1f884a Sam 1757712610 -0400 reset: moving to 5136b71 +5136b71930b78146dfbe5f4c080c54e05b1f884a ec7080d7b13802e78dc64ef04b4ff218f7f3a06b Sam 1757712655 -0400 reset: moving to ec7080d +ec7080d7b13802e78dc64ef04b4ff218f7f3a06b bc514b1b37cf78eaf5694b32e4d2e6f27ffdeffc Sam 1757714374 -0400 merge 1a 1b 1 2 2a 3 t1: Merge made by the 'octopus' strategy. +bc514b1b37cf78eaf5694b32e4d2e6f27ffdeffc ec7080d7b13802e78dc64ef04b4ff218f7f3a06b Sam 1757714412 -0400 reset: moving to HEAD~1 +ec7080d7b13802e78dc64ef04b4ff218f7f3a06b 5136b71930b78146dfbe5f4c080c54e05b1f884a Sam 1757787829 -0400 checkout: moving from t to 1 +5136b71930b78146dfbe5f4c080c54e05b1f884a ec7080d7b13802e78dc64ef04b4ff218f7f3a06b Sam 1757787950 -0400 checkout: moving from 1 to t diff --git a/tests/resources/merge-octopus-complex/.gitted/logs/refs/heads/1 b/tests/resources/merge-octopus-complex/.gitted/logs/refs/heads/1 new file mode 100644 index 00000000000..5fad8533263 --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/logs/refs/heads/1 @@ -0,0 +1,5 @@ +0000000000000000000000000000000000000000 91a7496439d00cfb4e9f67f52d6a53b8d5bded08 Sam 1757532508 -0400 branch: Created from master +91a7496439d00cfb4e9f67f52d6a53b8d5bded08 cf9ed0fedb7b478489deb14f8206e8ec3bd298e2 Sam 1757532520 -0400 commit: add in 1 +cf9ed0fedb7b478489deb14f8206e8ec3bd298e2 3e25ef4341e1ba0013f2fa65a9bf7298923180c5 Sam 1757532590 -0400 commit: append in 1 +3e25ef4341e1ba0013f2fa65a9bf7298923180c5 268668726f5c7ec1e4d0f271ca2a33e464d8d82c Sam 1757532668 -0400 commit: append in 1 again +268668726f5c7ec1e4d0f271ca2a33e464d8d82c 5136b71930b78146dfbe5f4c080c54e05b1f884a Sam 1757532677 -0400 merge 1b: Merge made by the 'ort' strategy. diff --git a/tests/resources/merge-octopus-complex/.gitted/logs/refs/heads/1a b/tests/resources/merge-octopus-complex/.gitted/logs/refs/heads/1a new file mode 100644 index 00000000000..a9436e7a21c --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/logs/refs/heads/1a @@ -0,0 +1,3 @@ +0000000000000000000000000000000000000000 cf9ed0fedb7b478489deb14f8206e8ec3bd298e2 Sam 1757532530 -0400 branch: Created from 1 +cf9ed0fedb7b478489deb14f8206e8ec3bd298e2 3bbd2a316578317f167b2c87fab3b2e4bebe311c Sam 1757532540 -0400 commit: add in 1a +3bbd2a316578317f167b2c87fab3b2e4bebe311c e2161c7b0ef124afe04c553fbd6f8e8156b947f5 Sam 1757532556 -0400 commit: append in 1a diff --git a/tests/resources/merge-octopus-complex/.gitted/logs/refs/heads/1b b/tests/resources/merge-octopus-complex/.gitted/logs/refs/heads/1b new file mode 100644 index 00000000000..7eafda77a6d --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/logs/refs/heads/1b @@ -0,0 +1,3 @@ +0000000000000000000000000000000000000000 3e25ef4341e1ba0013f2fa65a9bf7298923180c5 Sam 1757532624 -0400 branch: Created from 1 +3e25ef4341e1ba0013f2fa65a9bf7298923180c5 862ab60ed43c93a8422127d157bb302ee221d501 Sam 1757532645 -0400 commit: add in 1b +862ab60ed43c93a8422127d157bb302ee221d501 6d7a0948633012aa9038274538f76c968497b2ea Sam 1757532698 -0400 commit: append in 1b diff --git a/tests/resources/merge-octopus-complex/.gitted/logs/refs/heads/2 b/tests/resources/merge-octopus-complex/.gitted/logs/refs/heads/2 new file mode 100644 index 00000000000..f986ed46021 --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/logs/refs/heads/2 @@ -0,0 +1,5 @@ +0000000000000000000000000000000000000000 91a7496439d00cfb4e9f67f52d6a53b8d5bded08 Sam 1757532742 -0400 branch: Created from master +91a7496439d00cfb4e9f67f52d6a53b8d5bded08 0d37365c81ee5756522b1d36512ceab166d88642 Sam 1757532758 -0400 commit: add in 2 +0d37365c81ee5756522b1d36512ceab166d88642 7b07a0f332d230329a3d50a17d8cbbab4546e7da Sam 1757532774 -0400 commit: append in 2 +7b07a0f332d230329a3d50a17d8cbbab4546e7da 80194ba9314589065e1bd8099706ea3aaddc3500 Sam 1757532833 -0400 commit: append in 2 again +80194ba9314589065e1bd8099706ea3aaddc3500 1b7ad0f7343ff9ce03703cc40cf775b0e9cc57fe Sam 1757532850 -0400 merge t2: Merge made by the 'ort' strategy. diff --git a/tests/resources/merge-octopus-complex/.gitted/logs/refs/heads/2a b/tests/resources/merge-octopus-complex/.gitted/logs/refs/heads/2a new file mode 100644 index 00000000000..b84775850cb --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/logs/refs/heads/2a @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 7b07a0f332d230329a3d50a17d8cbbab4546e7da Sam 1757532793 -0400 branch: Created from 2 +7b07a0f332d230329a3d50a17d8cbbab4546e7da a49a6a4c527b223a1bdc1ae45e1260e1d041bf12 Sam 1757532807 -0400 commit: add in 2a diff --git a/tests/resources/merge-octopus-complex/.gitted/logs/refs/heads/3 b/tests/resources/merge-octopus-complex/.gitted/logs/refs/heads/3 new file mode 100644 index 00000000000..cc73c20e1dd --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/logs/refs/heads/3 @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 91a7496439d00cfb4e9f67f52d6a53b8d5bded08 Sam 1757532095 -0400 branch: Created from HEAD +91a7496439d00cfb4e9f67f52d6a53b8d5bded08 75f1c450c1196e953e1dbfab827765a19623c856 Sam 1757532105 -0400 commit: add in 3 diff --git a/tests/resources/merge-octopus-complex/.gitted/logs/refs/heads/master b/tests/resources/merge-octopus-complex/.gitted/logs/refs/heads/master new file mode 100644 index 00000000000..e0cdd8e4d25 --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/logs/refs/heads/master @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 91a7496439d00cfb4e9f67f52d6a53b8d5bded08 Sam 1757531913 -0400 commit (initial): add in master diff --git a/tests/resources/merge-octopus-complex/.gitted/logs/refs/heads/t b/tests/resources/merge-octopus-complex/.gitted/logs/refs/heads/t new file mode 100644 index 00000000000..ae0862042c4 --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/logs/refs/heads/t @@ -0,0 +1,17 @@ +0000000000000000000000000000000000000000 91a7496439d00cfb4e9f67f52d6a53b8d5bded08 Sam 1757532114 -0400 branch: Created from master +91a7496439d00cfb4e9f67f52d6a53b8d5bded08 bb06048f4c460f8ecdfc1d5875ccf223526f69e3 Sam 1757532136 -0400 commit: add in t +bb06048f4c460f8ecdfc1d5875ccf223526f69e3 5868f5abe74dd36115830b55afbb0d2ad1c93bbf Sam 1757532323 -0400 commit: append in t +5868f5abe74dd36115830b55afbb0d2ad1c93bbf 17012548651ab2c174d93e2e71d60f4f9020c6e5 Sam 1757532334 -0400 merge t1: Merge made by the 'ort' strategy. +17012548651ab2c174d93e2e71d60f4f9020c6e5 4d098dfd28cb2d3ee2312a42bc93bd9b6170a8cd Sam 1757532365 -0400 commit: append again in t +4d098dfd28cb2d3ee2312a42bc93bd9b6170a8cd ec7080d7b13802e78dc64ef04b4ff218f7f3a06b Sam 1757532602 -0400 merge 1: Merge made by the 'ort' strategy. +ec7080d7b13802e78dc64ef04b4ff218f7f3a06b 3201adfdb03218bd7e3eae1efb3123e42e97bd17 Sam 1757533158 -0400 merge 1 1a 1b 2 2a 3 t1: Merge made by the 'octopus' strategy. +3201adfdb03218bd7e3eae1efb3123e42e97bd17 ec7080d7b13802e78dc64ef04b4ff218f7f3a06b Sam 1757533168 -0400 reset: moving to HEAD~1 +ec7080d7b13802e78dc64ef04b4ff218f7f3a06b 87aeb35b1a705828a5f7b75e1357e79d8f6cb053 Sam 1757533178 -0400 merge 1 1a 1b 2 2a 3 t1: Merge made by the 'octopus' strategy. +87aeb35b1a705828a5f7b75e1357e79d8f6cb053 ec7080d7b13802e78dc64ef04b4ff218f7f3a06b Sam 1757533654 -0400 reset: moving to HEAD~1 +ec7080d7b13802e78dc64ef04b4ff218f7f3a06b 4f3284670d0041fc35440a527841f4ebe798c6a5 Sam 1757535492 -0400 merge 1 1a 1b 2 2a 3 t1: Merge made by the 'octopus' strategy. +4f3284670d0041fc35440a527841f4ebe798c6a5 ec7080d7b13802e78dc64ef04b4ff218f7f3a06b Sam 1757535512 -0400 reset: moving to HEAD~1 +ec7080d7b13802e78dc64ef04b4ff218f7f3a06b 4d098dfd28cb2d3ee2312a42bc93bd9b6170a8cd Sam 1757712432 -0400 reset: moving to HEAD~1 +4d098dfd28cb2d3ee2312a42bc93bd9b6170a8cd 5136b71930b78146dfbe5f4c080c54e05b1f884a Sam 1757712610 -0400 reset: moving to 5136b71 +5136b71930b78146dfbe5f4c080c54e05b1f884a ec7080d7b13802e78dc64ef04b4ff218f7f3a06b Sam 1757712655 -0400 reset: moving to ec7080d +ec7080d7b13802e78dc64ef04b4ff218f7f3a06b bc514b1b37cf78eaf5694b32e4d2e6f27ffdeffc Sam 1757714374 -0400 merge 1a 1b 1 2 2a 3 t1: Merge made by the 'octopus' strategy. +bc514b1b37cf78eaf5694b32e4d2e6f27ffdeffc ec7080d7b13802e78dc64ef04b4ff218f7f3a06b Sam 1757714412 -0400 reset: moving to HEAD~1 diff --git a/tests/resources/merge-octopus-complex/.gitted/logs/refs/heads/t1 b/tests/resources/merge-octopus-complex/.gitted/logs/refs/heads/t1 new file mode 100644 index 00000000000..eb382e82783 --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/logs/refs/heads/t1 @@ -0,0 +1,4 @@ +0000000000000000000000000000000000000000 bb06048f4c460f8ecdfc1d5875ccf223526f69e3 Sam 1757532154 -0400 branch: Created from t +bb06048f4c460f8ecdfc1d5875ccf223526f69e3 b82129c4f65bf0580faa96bd71e79f4cc60d1b8f Sam 1757532171 -0400 commit: add in t1 +b82129c4f65bf0580faa96bd71e79f4cc60d1b8f f5683f65234808611aa6646e929bed6abcee51f8 Sam 1757532240 -0400 commit: append in t1 +f5683f65234808611aa6646e929bed6abcee51f8 026a849d3c17944b00bd2de4840591df30852769 Sam 1757532726 -0400 commit: append in t1 again diff --git a/tests/resources/merge-octopus-complex/.gitted/logs/refs/heads/t2 b/tests/resources/merge-octopus-complex/.gitted/logs/refs/heads/t2 new file mode 100644 index 00000000000..2e35b8657ec --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/logs/refs/heads/t2 @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 f5683f65234808611aa6646e929bed6abcee51f8 Sam 1757532256 -0400 branch: Created from t1 +f5683f65234808611aa6646e929bed6abcee51f8 96e602252e180110495f303b6164a7d1158de595 Sam 1757532275 -0400 commit: add in t2 diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/01/8f7e6715ec374ab188897df3d65cc826b3a2a1 b/tests/resources/merge-octopus-complex/.gitted/objects/01/8f7e6715ec374ab188897df3d65cc826b3a2a1 new file mode 100644 index 00000000000..07578f8b368 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/01/8f7e6715ec374ab188897df3d65cc826b3a2a1 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/02/6a849d3c17944b00bd2de4840591df30852769 b/tests/resources/merge-octopus-complex/.gitted/objects/02/6a849d3c17944b00bd2de4840591df30852769 new file mode 100644 index 00000000000..b04380c6744 --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/objects/02/6a849d3c17944b00bd2de4840591df30852769 @@ -0,0 +1,3 @@ +xQ +0 a{\@I%kA;xlM`1|^[ȧS NhXDcS2Ϧ}v?ȁF8zuO96[2}j]&_Cn \ No newline at end of file diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/03/e145cb03bd50235495c8d628d160601d2adc62 b/tests/resources/merge-octopus-complex/.gitted/objects/03/e145cb03bd50235495c8d628d160601d2adc62 new file mode 100644 index 00000000000..cb58dd3842e --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/objects/03/e145cb03bd50235495c8d628d160601d2adc62 @@ -0,0 +1,2 @@ +x+)JMU04d040031Q0+(ax~PKTdvId.= +SV0\{uUfզ,HPi\t&MAT=_^ T/k2P%E`UjgORc9ǂ5 \ No newline at end of file diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/03/e39c99b21efc9d9d6ab9cffc1e6f581db45bc5 b/tests/resources/merge-octopus-complex/.gitted/objects/03/e39c99b21efc9d9d6ab9cffc1e6f581db45bc5 new file mode 100644 index 00000000000..4b20ce69991 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/03/e39c99b21efc9d9d6ab9cffc1e6f581db45bc5 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/09/f4002ed8b3d379ac0f9322f9679c1006172bc3 b/tests/resources/merge-octopus-complex/.gitted/objects/09/f4002ed8b3d379ac0f9322f9679c1006172bc3 new file mode 100644 index 00000000000..14aab0622a9 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/09/f4002ed8b3d379ac0f9322f9679c1006172bc3 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/0d/37365c81ee5756522b1d36512ceab166d88642 b/tests/resources/merge-octopus-complex/.gitted/objects/0d/37365c81ee5756522b1d36512ceab166d88642 new file mode 100644 index 00000000000..64d9b95e05c --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/objects/0d/37365c81ee5756522b1d36512ceab166d88642 @@ -0,0 +1,2 @@ +xQ +0 a{\iw`u2|Z[:S@g呂 ދy")޺۫C8 \YPKon;ܵE׾>|MuvbRጌzuO9d|?r \ No newline at end of file diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/0e/35705bd41b1ce1ce4df24c4523ca3e5ac967d2 b/tests/resources/merge-octopus-complex/.gitted/objects/0e/35705bd41b1ce1ce4df24c4523ca3e5ac967d2 new file mode 100644 index 00000000000..26f69461e22 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/0e/35705bd41b1ce1ce4df24c4523ca3e5ac967d2 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/11/72cc5f56f4d3923f5d7423e30649dd4b402462 b/tests/resources/merge-octopus-complex/.gitted/objects/11/72cc5f56f4d3923f5d7423e30649dd4b402462 new file mode 100644 index 00000000000..bc71461e0a5 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/11/72cc5f56f4d3923f5d7423e30649dd4b402462 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/11/f2eed6bc8437c1513571c7e11f78345a96b95a b/tests/resources/merge-octopus-complex/.gitted/objects/11/f2eed6bc8437c1513571c7e11f78345a96b95a new file mode 100644 index 00000000000..e24fbe9e8c8 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/11/f2eed6bc8437c1513571c7e11f78345a96b95a differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/15/7684f8826e4c521dba60389b3be41c74de78df b/tests/resources/merge-octopus-complex/.gitted/objects/15/7684f8826e4c521dba60389b3be41c74de78df new file mode 100644 index 00000000000..b54b9c57e13 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/15/7684f8826e4c521dba60389b3be41c74de78df differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/16/95cc0165d8ea7008a368570fce367a09aea9d3 b/tests/resources/merge-octopus-complex/.gitted/objects/16/95cc0165d8ea7008a368570fce367a09aea9d3 new file mode 100644 index 00000000000..a85e3f848c3 --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/objects/16/95cc0165d8ea7008a368570fce367a09aea9d3 @@ -0,0 +1 @@ +x+)JMU07d040031Q0+(a+mWY$pIEdПP%E`UjgORc97 \ No newline at end of file diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/17/012548651ab2c174d93e2e71d60f4f9020c6e5 b/tests/resources/merge-octopus-complex/.gitted/objects/17/012548651ab2c174d93e2e71d60f4f9020c6e5 new file mode 100644 index 00000000000..e5431f8cb0d --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/objects/17/012548651ab2c174d93e2e71d60f4f9020c6e5 @@ -0,0 +1 @@ +x;n0 @;25Џ4 E/Щ' %*1ف޿^z o^0kHcE{XxI9vOO@&n(jK5Q+4U_P֤ĩƔe5jDN~%17o.ZaSL)ë޻/WO7;\fT( \ No newline at end of file diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/1a/69cbb3be1cbddaec8c240e2ff9d9103a0ba4f1 b/tests/resources/merge-octopus-complex/.gitted/objects/1a/69cbb3be1cbddaec8c240e2ff9d9103a0ba4f1 new file mode 100644 index 00000000000..291bb2f8a5a Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/1a/69cbb3be1cbddaec8c240e2ff9d9103a0ba4f1 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/1b/7ad0f7343ff9ce03703cc40cf775b0e9cc57fe b/tests/resources/merge-octopus-complex/.gitted/objects/1b/7ad0f7343ff9ce03703cc40cf775b0e9cc57fe new file mode 100644 index 00000000000..c06a26cbe02 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/1b/7ad0f7343ff9ce03703cc40cf775b0e9cc57fe differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/1f/7391f92b6a3792204e07e99f71f643cc35e7e1 b/tests/resources/merge-octopus-complex/.gitted/objects/1f/7391f92b6a3792204e07e99f71f643cc35e7e1 new file mode 100644 index 00000000000..ec4ac9a8248 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/1f/7391f92b6a3792204e07e99f71f643cc35e7e1 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/24/81a2cc662ce05a7f0e52bd283403654a24d61c b/tests/resources/merge-octopus-complex/.gitted/objects/24/81a2cc662ce05a7f0e52bd283403654a24d61c new file mode 100644 index 00000000000..0d7dcfcaa94 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/24/81a2cc662ce05a7f0e52bd283403654a24d61c differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/26/8668726f5c7ec1e4d0f271ca2a33e464d8d82c b/tests/resources/merge-octopus-complex/.gitted/objects/26/8668726f5c7ec1e4d0f271ca2a33e464d8d82c new file mode 100644 index 00000000000..f6239094f9f --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/objects/26/8668726f5c7ec1e4d0f271ca2a33e464d8d82c @@ -0,0 +1,2 @@ +x[ +0@Qـ%3y{ptR-1n n[et8`RЉ\fWQ8 ]FIƢZ)T;Ns b"Qg;^{'7{TӇcm\S0 y᪭ېm\7HCv \ No newline at end of file diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/28/27ac0e51ca50c96fd04ceccb3643713726473a b/tests/resources/merge-octopus-complex/.gitted/objects/28/27ac0e51ca50c96fd04ceccb3643713726473a new file mode 100644 index 00000000000..91f0e847f86 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/28/27ac0e51ca50c96fd04ceccb3643713726473a differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/28/2c71a0e643e28bff54513ffc6f0edffd7e53b8 b/tests/resources/merge-octopus-complex/.gitted/objects/28/2c71a0e643e28bff54513ffc6f0edffd7e53b8 new file mode 100644 index 00000000000..1078c2192b2 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/28/2c71a0e643e28bff54513ffc6f0edffd7e53b8 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/2c/6e75856f24a210d21973441874bb1512fc5edd b/tests/resources/merge-octopus-complex/.gitted/objects/2c/6e75856f24a210d21973441874bb1512fc5edd new file mode 100644 index 00000000000..9f252fbf524 --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/objects/2c/6e75856f24a210d21973441874bb1512fc5edd @@ -0,0 +1 @@ +xKOR02dHLIQS0J,(H̓h \ No newline at end of file diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/31/05115033a4c8233226397f788ae0a598f509a3 b/tests/resources/merge-octopus-complex/.gitted/objects/31/05115033a4c8233226397f788ae0a598f509a3 new file mode 100644 index 00000000000..f375f295a6b Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/31/05115033a4c8233226397f788ae0a598f509a3 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/31/d2f248d286505edb7696bce3f4e00b30e8ba3e b/tests/resources/merge-octopus-complex/.gitted/objects/31/d2f248d286505edb7696bce3f4e00b30e8ba3e new file mode 100644 index 00000000000..dbc4df95f91 --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/objects/31/d2f248d286505edb7696bce3f4e00b30e8ba3e @@ -0,0 +1 @@ +x+)JMU040e040031QM,.I-+(a/S;|ߜϘ>UUV3UuʁO9% S`Vi9v1nv8G* \ No newline at end of file diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/32/01adfdb03218bd7e3eae1efb3123e42e97bd17 b/tests/resources/merge-octopus-complex/.gitted/objects/32/01adfdb03218bd7e3eae1efb3123e42e97bd17 new file mode 100644 index 00000000000..a1bc3c7736a Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/32/01adfdb03218bd7e3eae1efb3123e42e97bd17 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/3a/dbb70298d5873f66ee0cee0cfd73cad346e231 b/tests/resources/merge-octopus-complex/.gitted/objects/3a/dbb70298d5873f66ee0cee0cfd73cad346e231 new file mode 100644 index 00000000000..3faeb1975bd Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/3a/dbb70298d5873f66ee0cee0cfd73cad346e231 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/3b/bd2a316578317f167b2c87fab3b2e4bebe311c b/tests/resources/merge-octopus-complex/.gitted/objects/3b/bd2a316578317f167b2c87fab3b2e4bebe311c new file mode 100644 index 00000000000..a6653ca29f2 --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/objects/3b/bd2a316578317f167b2c87fab3b2e4bebe311c @@ -0,0 +1 @@ +x 1@QS4&+d&ظcn ^8p{`>!9Zc&MaF(']45$pGXR\fP|Bl2ۣSۖ+k8k:6? A \ No newline at end of file diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/3c/586cdd314b42131adb56abd1d3ecabb93b10e0 b/tests/resources/merge-octopus-complex/.gitted/objects/3c/586cdd314b42131adb56abd1d3ecabb93b10e0 new file mode 100644 index 00000000000..69c450cd55c Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/3c/586cdd314b42131adb56abd1d3ecabb93b10e0 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/3e/25ef4341e1ba0013f2fa65a9bf7298923180c5 b/tests/resources/merge-octopus-complex/.gitted/objects/3e/25ef4341e1ba0013f2fa65a9bf7298923180c5 new file mode 100644 index 00000000000..b2d60e4d061 --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/objects/3e/25ef4341e1ba0013f2fa65a9bf7298923180c5 @@ -0,0 +1 @@ +x !@|[4e|+Rc"1g[7キ J ]9t&H`=yHLhqmB V.' pg|Fl<ǫS[;HoF+DqmJqVm %B* \ No newline at end of file diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/47/6cb0c24736d80cb700780e43127a36646e152f b/tests/resources/merge-octopus-complex/.gitted/objects/47/6cb0c24736d80cb700780e43127a36646e152f new file mode 100644 index 00000000000..b50b80547e0 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/47/6cb0c24736d80cb700780e43127a36646e152f differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/4b/4d41231929d23b3f1de89c00b339831ebaa2b4 b/tests/resources/merge-octopus-complex/.gitted/objects/4b/4d41231929d23b3f1de89c00b339831ebaa2b4 new file mode 100644 index 00000000000..f83d039f449 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/4b/4d41231929d23b3f1de89c00b339831ebaa2b4 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/4d/098dfd28cb2d3ee2312a42bc93bd9b6170a8cd b/tests/resources/merge-octopus-complex/.gitted/objects/4d/098dfd28cb2d3ee2312a42bc93bd9b6170a8cd new file mode 100644 index 00000000000..25cccd292ef --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/objects/4d/098dfd28cb2d3ee2312a42bc93bd9b6170a8cd @@ -0,0 +1,3 @@ +x[ +0E* "Li-ĸ|8Z 7#z4i.\R)Ⱥ%Zurk C9C)c%! X<,vI@8:~r7~MX+o)>\pw +@ ;uR|+ot~B \ No newline at end of file diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/4d/b6465b0b5767690fafab733733529c3082ad15 b/tests/resources/merge-octopus-complex/.gitted/objects/4d/b6465b0b5767690fafab733733529c3082ad15 new file mode 100644 index 00000000000..4d25fffff72 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/4d/b6465b0b5767690fafab733733529c3082ad15 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/4f/3284670d0041fc35440a527841f4ebe798c6a5 b/tests/resources/merge-octopus-complex/.gitted/objects/4f/3284670d0041fc35440a527841f4ebe798c6a5 new file mode 100644 index 00000000000..435ecf08dd4 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/4f/3284670d0041fc35440a527841f4ebe798c6a5 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/50/354fde7a0ff7dd449783cefd63b93fe8330c8b b/tests/resources/merge-octopus-complex/.gitted/objects/50/354fde7a0ff7dd449783cefd63b93fe8330c8b new file mode 100644 index 00000000000..0af94df4f22 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/50/354fde7a0ff7dd449783cefd63b93fe8330c8b differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/51/36b71930b78146dfbe5f4c080c54e05b1f884a b/tests/resources/merge-octopus-complex/.gitted/objects/51/36b71930b78146dfbe5f4c080c54e05b1f884a new file mode 100644 index 00000000000..d9332175acc --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/objects/51/36b71930b78146dfbe5f4c080c54e05b1f884a @@ -0,0 +1,2 @@ +x1n1 S+Թ!) (g`R`=ZۆƷd`Qo)$Zj)"d(SSL'\iX +oMYvu'bv>zL:[Z̕.)qR \ No newline at end of file diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/58/68f5abe74dd36115830b55afbb0d2ad1c93bbf b/tests/resources/merge-octopus-complex/.gitted/objects/58/68f5abe74dd36115830b55afbb0d2ad1c93bbf new file mode 100644 index 00000000000..03e91b9398a --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/objects/58/68f5abe74dd36115830b55afbb0d2ad1c93bbf @@ -0,0 +1,3 @@ +x[ + E*f +DZ $Xrֵͥ7m1JΘBFk JhHdFء.p.D +/ z76_\?Yg6qP%E`UjgORc9- \ No newline at end of file diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/66/fb1d547975e9ff72da9b5422aee29e93cad2f9 b/tests/resources/merge-octopus-complex/.gitted/objects/66/fb1d547975e9ff72da9b5422aee29e93cad2f9 new file mode 100644 index 00000000000..f18b2b4d061 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/66/fb1d547975e9ff72da9b5422aee29e93cad2f9 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/67/e43930989305efbe75ac598126259707078305 b/tests/resources/merge-octopus-complex/.gitted/objects/67/e43930989305efbe75ac598126259707078305 new file mode 100644 index 00000000000..9cabd58bf17 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/67/e43930989305efbe75ac598126259707078305 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/68/161321e19bd5dd0e12cd98c9c268c012245f84 b/tests/resources/merge-octopus-complex/.gitted/objects/68/161321e19bd5dd0e12cd98c9c268c012245f84 new file mode 100644 index 00000000000..888c75771d8 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/68/161321e19bd5dd0e12cd98c9c268c012245f84 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/69/0dcfdc97cbec6eabcfc88b5ddc063897b07323 b/tests/resources/merge-octopus-complex/.gitted/objects/69/0dcfdc97cbec6eabcfc88b5ddc063897b07323 new file mode 100644 index 00000000000..9acedc978f6 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/69/0dcfdc97cbec6eabcfc88b5ddc063897b07323 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/6b/d824566fd34711b423fb76a40a0128815f54a0 b/tests/resources/merge-octopus-complex/.gitted/objects/6b/d824566fd34711b423fb76a40a0128815f54a0 new file mode 100644 index 00000000000..f59eecdb183 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/6b/d824566fd34711b423fb76a40a0128815f54a0 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/6d/7a0948633012aa9038274538f76c968497b2ea b/tests/resources/merge-octopus-complex/.gitted/objects/6d/7a0948633012aa9038274538f76c968497b2ea new file mode 100644 index 00000000000..d91c1758673 --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/objects/6d/7a0948633012aa9038274538f76c968497b2ea @@ -0,0 +1 @@ +x !Ei M+`Pewؿ=''h@/3L^dg4cXc.%"9=[8> 81:AT賲>F-ylÓhx5ےv孷*bm=CAE A \ No newline at end of file diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/73/56893fa4054f11ce9213a61e9dfdadd3dddf86 b/tests/resources/merge-octopus-complex/.gitted/objects/73/56893fa4054f11ce9213a61e9dfdadd3dddf86 new file mode 100644 index 00000000000..555a8ed45e4 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/73/56893fa4054f11ce9213a61e9dfdadd3dddf86 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/75/f1c450c1196e953e1dbfab827765a19623c856 b/tests/resources/merge-octopus-complex/.gitted/objects/75/f1c450c1196e953e1dbfab827765a19623c856 new file mode 100644 index 00000000000..7c0562b6c09 --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/objects/75/f1c450c1196e953e1dbfab827765a19623c856 @@ -0,0 +1 @@ +x aA/1mRA߮|_itUY0$JTkr”18Ǫ|aq̛)P Rs8PLDF,*v1ϽÝ\xhnS -kQ)"v3@ \ No newline at end of file diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/7b/07a0f332d230329a3d50a17d8cbbab4546e7da b/tests/resources/merge-octopus-complex/.gitted/objects/7b/07a0f332d230329a3d50a17d8cbbab4546e7da new file mode 100644 index 00000000000..de454d593ec Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/7b/07a0f332d230329a3d50a17d8cbbab4546e7da differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/80/194ba9314589065e1bd8099706ea3aaddc3500 b/tests/resources/merge-octopus-complex/.gitted/objects/80/194ba9314589065e1bd8099706ea3aaddc3500 new file mode 100644 index 00000000000..9b5c80c7056 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/80/194ba9314589065e1bd8099706ea3aaddc3500 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/80/2a7673970921f2bfb5fa1e2c468eacea1d55d7 b/tests/resources/merge-octopus-complex/.gitted/objects/80/2a7673970921f2bfb5fa1e2c468eacea1d55d7 new file mode 100644 index 00000000000..9c5195ab045 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/80/2a7673970921f2bfb5fa1e2c468eacea1d55d7 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/86/2ab60ed43c93a8422127d157bb302ee221d501 b/tests/resources/merge-octopus-complex/.gitted/objects/86/2ab60ed43c93a8422127d157bb302ee221d501 new file mode 100644 index 00000000000..fd08c7333c1 --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/objects/86/2ab60ed43c93a8422127d157bb302ee221d501 @@ -0,0 +1 @@ +x 0 @Q3 !v`;qRCQґnk];xSof)cʙ)h$Y()%Q]X [:h%p #D⋌Q-_3͘o R"[_ Gu^@S"1D8c@tG=޺ H}@ \ No newline at end of file diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/87/aeb35b1a705828a5f7b75e1357e79d8f6cb053 b/tests/resources/merge-octopus-complex/.gitted/objects/87/aeb35b1a705828a5f7b75e1357e79d8f6cb053 new file mode 100644 index 00000000000..81661406fb4 --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/objects/87/aeb35b1a705828a5f7b75e1357e79d8f6cb053 @@ -0,0 +1,2 @@ +xR1n1 L}PwMb")J@J"wz+4S FPm#Ikߎ=u:u 3$ԙUݭ?#P0#UȮu#2 zA*]teFw d;HǨv۞ږ~qݶϛ]^mPEj pZ1vOg<_`w0N9utt>h~ \ No newline at end of file diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/88/a56d9ad6353e551de6d5025348e413b1c5d13f b/tests/resources/merge-octopus-complex/.gitted/objects/88/a56d9ad6353e551de6d5025348e413b1c5d13f new file mode 100644 index 00000000000..b9895685ec3 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/88/a56d9ad6353e551de6d5025348e413b1c5d13f differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/88/fabb030f09fc47b295b593733360c6541ce225 b/tests/resources/merge-octopus-complex/.gitted/objects/88/fabb030f09fc47b295b593733360c6541ce225 new file mode 100644 index 00000000000..4490e714be4 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/88/fabb030f09fc47b295b593733360c6541ce225 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/8b/0dc1f41ef76b03ebffb25b2330944d5983a072 b/tests/resources/merge-octopus-complex/.gitted/objects/8b/0dc1f41ef76b03ebffb25b2330944d5983a072 new file mode 100644 index 00000000000..7df795d4cba Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/8b/0dc1f41ef76b03ebffb25b2330944d5983a072 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/8b/0e0f6a8303da20550992fc9db7d63526e82255 b/tests/resources/merge-octopus-complex/.gitted/objects/8b/0e0f6a8303da20550992fc9db7d63526e82255 new file mode 100644 index 00000000000..263faee61b9 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/8b/0e0f6a8303da20550992fc9db7d63526e82255 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/91/a7496439d00cfb4e9f67f52d6a53b8d5bded08 b/tests/resources/merge-octopus-complex/.gitted/objects/91/a7496439d00cfb4e9f67f52d6a53b8d5bded08 new file mode 100644 index 00000000000..d888de28225 --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/objects/91/a7496439d00cfb4e9f67f52d6a53b8d5bded08 @@ -0,0 +1,3 @@ +x a +m%i;8qJғZ:^z5p. +rLo<{+s!l$зk')t"m:I/rL\-0֚QǫPJP>tj~;6 \ No newline at end of file diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/93/7bbbc2b6c3389912f6e2d9637ddbc668a1e1c5 b/tests/resources/merge-octopus-complex/.gitted/objects/93/7bbbc2b6c3389912f6e2d9637ddbc668a1e1c5 new file mode 100644 index 00000000000..544cdc3d214 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/93/7bbbc2b6c3389912f6e2d9637ddbc668a1e1c5 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/93/926bef4d5604cebee1213a461095636fbf8786 b/tests/resources/merge-octopus-complex/.gitted/objects/93/926bef4d5604cebee1213a461095636fbf8786 new file mode 100644 index 00000000000..761bad05679 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/93/926bef4d5604cebee1213a461095636fbf8786 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/96/e602252e180110495f303b6164a7d1158de595 b/tests/resources/merge-octopus-complex/.gitted/objects/96/e602252e180110495f303b6164a7d1158de595 new file mode 100644 index 00000000000..31f6515fcf0 --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/objects/96/e602252e180110495f303b6164a7d1158de595 @@ -0,0 +1,3 @@ +xi1 >{ +-C-نC'}rzp΅B^o5O3ȹkc-J+BM8fDz}Bgɡ Sx* +jhmf{v :GٹކnҎq8q J ݻߦ}+lw^? \ No newline at end of file diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/a3/0214a4823ae264be1476e0034b65116e1226b6 b/tests/resources/merge-octopus-complex/.gitted/objects/a3/0214a4823ae264be1476e0034b65116e1226b6 new file mode 100644 index 00000000000..5428440ceee Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/a3/0214a4823ae264be1476e0034b65116e1226b6 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/a4/9a6a4c527b223a1bdc1ae45e1260e1d041bf12 b/tests/resources/merge-octopus-complex/.gitted/objects/a4/9a6a4c527b223a1bdc1ae45e1260e1d041bf12 new file mode 100644 index 00000000000..b62ea05550c Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/a4/9a6a4c527b223a1bdc1ae45e1260e1d041bf12 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/ab/7406da8569dec8b12bae6c92b7134a021d2d01 b/tests/resources/merge-octopus-complex/.gitted/objects/ab/7406da8569dec8b12bae6c92b7134a021d2d01 new file mode 100644 index 00000000000..e603e33862d Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/ab/7406da8569dec8b12bae6c92b7134a021d2d01 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/ac/5af930633e2c1479a55041178db28930f581bb b/tests/resources/merge-octopus-complex/.gitted/objects/ac/5af930633e2c1479a55041178db28930f581bb new file mode 100644 index 00000000000..14235a33c69 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/ac/5af930633e2c1479a55041178db28930f581bb differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/b2/b120f3b488e6f80674f6b5c89aaec152485c66 b/tests/resources/merge-octopus-complex/.gitted/objects/b2/b120f3b488e6f80674f6b5c89aaec152485c66 new file mode 100644 index 00000000000..402b45ceb7c Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/b2/b120f3b488e6f80674f6b5c89aaec152485c66 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/b6/3c6e2211afb6887ef9371cdd819ab903d83c2a b/tests/resources/merge-octopus-complex/.gitted/objects/b6/3c6e2211afb6887ef9371cdd819ab903d83c2a new file mode 100644 index 00000000000..320a64324bc Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/b6/3c6e2211afb6887ef9371cdd819ab903d83c2a differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/b7/b74300e1258e31ab7faa1317d27771eea6aa6e b/tests/resources/merge-octopus-complex/.gitted/objects/b7/b74300e1258e31ab7faa1317d27771eea6aa6e new file mode 100644 index 00000000000..ea9e4c0bd4a Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/b7/b74300e1258e31ab7faa1317d27771eea6aa6e differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/b8/2129c4f65bf0580faa96bd71e79f4cc60d1b8f b/tests/resources/merge-octopus-complex/.gitted/objects/b8/2129c4f65bf0580faa96bd71e79f4cc60d1b8f new file mode 100644 index 00000000000..2867cac543e --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/objects/b8/2129c4f65bf0580faa96bd71e79f4cc60d1b8f @@ -0,0 +1 @@ +x 1@QS42<{d2fWbm .キ 4]w/>j1NC 9GeFRYcDƑ"F|5X>ߟ=u@!4"oSS*m}@ \ No newline at end of file diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/b9/52ea6b938046ae2351e26bca4037f2ba146c6d b/tests/resources/merge-octopus-complex/.gitted/objects/b9/52ea6b938046ae2351e26bca4037f2ba146c6d new file mode 100644 index 00000000000..3156c7f0d1a Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/b9/52ea6b938046ae2351e26bca4037f2ba146c6d differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/bb/06048f4c460f8ecdfc1d5875ccf223526f69e3 b/tests/resources/merge-octopus-complex/.gitted/objects/bb/06048f4c460f8ecdfc1d5875ccf223526f69e3 new file mode 100644 index 00000000000..149502e9467 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/bb/06048f4c460f8ecdfc1d5875ccf223526f69e3 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/bc/514b1b37cf78eaf5694b32e4d2e6f27ffdeffc b/tests/resources/merge-octopus-complex/.gitted/objects/bc/514b1b37cf78eaf5694b32e4d2e6f27ffdeffc new file mode 100644 index 00000000000..e3c43cf0371 --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/objects/bc/514b1b37cf78eaf5694b32e4d2e6f27ffdeffc @@ -0,0 +1,3 @@ +xR11 LWsH% Ty)wnQ })Cqfq۶ˑJ_=08ҜPMB efAwOH>L1٥Q8"c Rg83k8(f K塯S:JU;P…uڸeׇ U& 0/caO=bÁh "ecg^ +XZI@u.Zh+Ïb - +!"3VC4itfsc(g9n{[O~nzyGB)`L0iևczoΨ 9utt| \ No newline at end of file diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/be/f2162ee954ea5aaf51256840359fe67d0d6216 b/tests/resources/merge-octopus-complex/.gitted/objects/be/f2162ee954ea5aaf51256840359fe67d0d6216 new file mode 100644 index 00000000000..a7bac8b532b Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/be/f2162ee954ea5aaf51256840359fe67d0d6216 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/c0/689e4574ea64b4000758b4ac38e69ec440bd2f b/tests/resources/merge-octopus-complex/.gitted/objects/c0/689e4574ea64b4000758b4ac38e69ec440bd2f new file mode 100644 index 00000000000..2c7861ab5e7 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/c0/689e4574ea64b4000758b4ac38e69ec440bd2f differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/ca/b26cac417663466a9b99ad124cb8c95f33d138 b/tests/resources/merge-octopus-complex/.gitted/objects/ca/b26cac417663466a9b99ad124cb8c95f33d138 new file mode 100644 index 00000000000..58f583918ae --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/objects/ca/b26cac417663466a9b99ad124cb8c95f33d138 @@ -0,0 +1 @@ +xQ1 ާH /N$hx'qVo}z)F㙱ov98Tfm1yh6==kIa%hVu2C. g)w}dT &f+Df:Kmm]*%dc2M{ZwlӜЧڻ،su!/Lmt`Yk+`l]o2@GUhIJ/2S/~㠎V@y8&AYZOxo_K}yo&&$5K pZ7uS?k:tN~|9]-/9 \ No newline at end of file diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/cb/dec37799edd6b7d63326e93c4b3562239a67aa b/tests/resources/merge-octopus-complex/.gitted/objects/cb/dec37799edd6b7d63326e93c4b3562239a67aa new file mode 100644 index 00000000000..44b8dfa2e03 --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/objects/cb/dec37799edd6b7d63326e93c4b3562239a67aa @@ -0,0 +1 @@ +x+)JMU07d040031QM,.I-+(a/S;|ߜϘ>UUV"LWV6ɞ>^ \ No newline at end of file diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/cc/fe29d825cb6476a3b1bf27d68a3edd4fd86c0b b/tests/resources/merge-octopus-complex/.gitted/objects/cc/fe29d825cb6476a3b1bf27d68a3edd4fd86c0b new file mode 100644 index 00000000000..3dbb33e16f6 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/cc/fe29d825cb6476a3b1bf27d68a3edd4fd86c0b differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/cf/9ed0fedb7b478489deb14f8206e8ec3bd298e2 b/tests/resources/merge-octopus-complex/.gitted/objects/cf/9ed0fedb7b478489deb14f8206e8ec3bd298e2 new file mode 100644 index 00000000000..021663671a9 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/cf/9ed0fedb7b478489deb14f8206e8ec3bd298e2 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/d0/041aa87a7a6402f8b171eb38b42e898592832e b/tests/resources/merge-octopus-complex/.gitted/objects/d0/041aa87a7a6402f8b171eb38b42e898592832e new file mode 100644 index 00000000000..b8f224b873d Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/d0/041aa87a7a6402f8b171eb38b42e898592832e differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/d7/e78a5bab639c92c00ceb3425b76bbe1074e330 b/tests/resources/merge-octopus-complex/.gitted/objects/d7/e78a5bab639c92c00ceb3425b76bbe1074e330 new file mode 100644 index 00000000000..d90bf7b0084 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/d7/e78a5bab639c92c00ceb3425b76bbe1074e330 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/dd/7dd9c99090a46c27f6a768bf50c5ff5583ba8e b/tests/resources/merge-octopus-complex/.gitted/objects/dd/7dd9c99090a46c27f6a768bf50c5ff5583ba8e new file mode 100644 index 00000000000..226baf5e1ff --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/objects/dd/7dd9c99090a46c27f6a768bf50c5ff5583ba8e @@ -0,0 +1 @@ +xKOR02dHLIQS0J,(H̓j \ No newline at end of file diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/e2/161c7b0ef124afe04c553fbd6f8e8156b947f5 b/tests/resources/merge-octopus-complex/.gitted/objects/e2/161c7b0ef124afe04c553fbd6f8e8156b947f5 new file mode 100644 index 00000000000..ce133c2c352 --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/objects/e2/161c7b0ef124afe04c553fbd6f8e8156b947f5 @@ -0,0 +1,2 @@ +xQ +0 a{\@i@;x$t`1|_1fG_u:i6IXFOmEjd 9Q@S$Q M,(11 Ak n(Q˜RwG=޺o-_C. \ No newline at end of file diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/e7/c1228a15149b7459531590842ff5e610e1a5c5 b/tests/resources/merge-octopus-complex/.gitted/objects/e7/c1228a15149b7459531590842ff5e610e1a5c5 new file mode 100644 index 00000000000..25276d75caf Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/e7/c1228a15149b7459531590842ff5e610e1a5c5 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/e8/5b86cc762bfcea893a1f883c611b63494c27e3 b/tests/resources/merge-octopus-complex/.gitted/objects/e8/5b86cc762bfcea893a1f883c611b63494c27e3 new file mode 100644 index 00000000000..b36fbeb5675 --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/objects/e8/5b86cc762bfcea893a1f883c611b63494c27e3 @@ -0,0 +1 @@ +xKOR02dHLIQS(J,(H̓7 \ No newline at end of file diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/ec/7080d7b13802e78dc64ef04b4ff218f7f3a06b b/tests/resources/merge-octopus-complex/.gitted/objects/ec/7080d7b13802e78dc64ef04b4ff218f7f3a06b new file mode 100644 index 00000000000..4a1399649f1 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/ec/7080d7b13802e78dc64ef04b4ff218f7f3a06b differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/ef/ce6b21b48cbe00a64f5e8a8702f422b86b82c8 b/tests/resources/merge-octopus-complex/.gitted/objects/ef/ce6b21b48cbe00a64f5e8a8702f422b86b82c8 new file mode 100644 index 00000000000..779d0515642 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/ef/ce6b21b48cbe00a64f5e8a8702f422b86b82c8 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/f1/5c1d17d1ebef8adbdb7379cc3dcf7f48fa9cb5 b/tests/resources/merge-octopus-complex/.gitted/objects/f1/5c1d17d1ebef8adbdb7379cc3dcf7f48fa9cb5 new file mode 100644 index 00000000000..14d188f4d2c Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/f1/5c1d17d1ebef8adbdb7379cc3dcf7f48fa9cb5 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/f5/683f65234808611aa6646e929bed6abcee51f8 b/tests/resources/merge-octopus-complex/.gitted/objects/f5/683f65234808611aa6646e929bed6abcee51f8 new file mode 100644 index 00000000000..a8e5f09462c Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/f5/683f65234808611aa6646e929bed6abcee51f8 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/objects/fa/f37db7815e1c6e21e8276d2c353c5a74b066f8 b/tests/resources/merge-octopus-complex/.gitted/objects/fa/f37db7815e1c6e21e8276d2c353c5a74b066f8 new file mode 100644 index 00000000000..7a67438e840 Binary files /dev/null and b/tests/resources/merge-octopus-complex/.gitted/objects/fa/f37db7815e1c6e21e8276d2c353c5a74b066f8 differ diff --git a/tests/resources/merge-octopus-complex/.gitted/refs/heads/1 b/tests/resources/merge-octopus-complex/.gitted/refs/heads/1 new file mode 100644 index 00000000000..36960c41267 --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/refs/heads/1 @@ -0,0 +1 @@ +5136b71930b78146dfbe5f4c080c54e05b1f884a diff --git a/tests/resources/merge-octopus-complex/.gitted/refs/heads/1a b/tests/resources/merge-octopus-complex/.gitted/refs/heads/1a new file mode 100644 index 00000000000..4de18c5907c --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/refs/heads/1a @@ -0,0 +1 @@ +e2161c7b0ef124afe04c553fbd6f8e8156b947f5 diff --git a/tests/resources/merge-octopus-complex/.gitted/refs/heads/1b b/tests/resources/merge-octopus-complex/.gitted/refs/heads/1b new file mode 100644 index 00000000000..387e859db7d --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/refs/heads/1b @@ -0,0 +1 @@ +6d7a0948633012aa9038274538f76c968497b2ea diff --git a/tests/resources/merge-octopus-complex/.gitted/refs/heads/2 b/tests/resources/merge-octopus-complex/.gitted/refs/heads/2 new file mode 100644 index 00000000000..994f4aa0b7f --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/refs/heads/2 @@ -0,0 +1 @@ +1b7ad0f7343ff9ce03703cc40cf775b0e9cc57fe diff --git a/tests/resources/merge-octopus-complex/.gitted/refs/heads/2a b/tests/resources/merge-octopus-complex/.gitted/refs/heads/2a new file mode 100644 index 00000000000..b51ebced244 --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/refs/heads/2a @@ -0,0 +1 @@ +a49a6a4c527b223a1bdc1ae45e1260e1d041bf12 diff --git a/tests/resources/merge-octopus-complex/.gitted/refs/heads/3 b/tests/resources/merge-octopus-complex/.gitted/refs/heads/3 new file mode 100644 index 00000000000..6ad71941cfb --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/refs/heads/3 @@ -0,0 +1 @@ +75f1c450c1196e953e1dbfab827765a19623c856 diff --git a/tests/resources/merge-octopus-complex/.gitted/refs/heads/master b/tests/resources/merge-octopus-complex/.gitted/refs/heads/master new file mode 100644 index 00000000000..cfe6d1de9f4 --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/refs/heads/master @@ -0,0 +1 @@ +91a7496439d00cfb4e9f67f52d6a53b8d5bded08 diff --git a/tests/resources/merge-octopus-complex/.gitted/refs/heads/t b/tests/resources/merge-octopus-complex/.gitted/refs/heads/t new file mode 100644 index 00000000000..a107954e325 --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/refs/heads/t @@ -0,0 +1 @@ +ec7080d7b13802e78dc64ef04b4ff218f7f3a06b diff --git a/tests/resources/merge-octopus-complex/.gitted/refs/heads/t1 b/tests/resources/merge-octopus-complex/.gitted/refs/heads/t1 new file mode 100644 index 00000000000..4b2b3edaffb --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/refs/heads/t1 @@ -0,0 +1 @@ +026a849d3c17944b00bd2de4840591df30852769 diff --git a/tests/resources/merge-octopus-complex/.gitted/refs/heads/t2 b/tests/resources/merge-octopus-complex/.gitted/refs/heads/t2 new file mode 100644 index 00000000000..4fc52fe6f32 --- /dev/null +++ b/tests/resources/merge-octopus-complex/.gitted/refs/heads/t2 @@ -0,0 +1 @@ +96e602252e180110495f303b6164a7d1158de595 diff --git a/tests/resources/merge-octopus-complex/1.txt b/tests/resources/merge-octopus-complex/1.txt new file mode 100644 index 00000000000..2c6e75856f2 --- /dev/null +++ b/tests/resources/merge-octopus-complex/1.txt @@ -0,0 +1,2 @@ +add in 1 +append in 1 diff --git a/tests/resources/merge-octopus-complex/master.txt b/tests/resources/merge-octopus-complex/master.txt new file mode 100644 index 00000000000..1f7391f92b6 --- /dev/null +++ b/tests/resources/merge-octopus-complex/master.txt @@ -0,0 +1 @@ +master diff --git a/tests/resources/merge-octopus-complex/t.txt b/tests/resources/merge-octopus-complex/t.txt new file mode 100644 index 00000000000..4b4d4123192 --- /dev/null +++ b/tests/resources/merge-octopus-complex/t.txt @@ -0,0 +1,3 @@ +add in t +append in t +append again in t diff --git a/tests/resources/merge-octopus-complex/t1.txt b/tests/resources/merge-octopus-complex/t1.txt new file mode 100644 index 00000000000..f15c1d17d1e --- /dev/null +++ b/tests/resources/merge-octopus-complex/t1.txt @@ -0,0 +1,2 @@ +add in t1 +append in t1 diff --git a/tests/resources/merge-octopus-fail/.gitted/COMMIT_EDITMSG b/tests/resources/merge-octopus-fail/.gitted/COMMIT_EDITMSG new file mode 100644 index 00000000000..dcd7a5d6d55 --- /dev/null +++ b/tests/resources/merge-octopus-fail/.gitted/COMMIT_EDITMSG @@ -0,0 +1 @@ +Yes diff --git a/tests/resources/merge-octopus-fail/.gitted/HEAD b/tests/resources/merge-octopus-fail/.gitted/HEAD new file mode 100644 index 00000000000..f3308515d2b --- /dev/null +++ b/tests/resources/merge-octopus-fail/.gitted/HEAD @@ -0,0 +1 @@ +ref: refs/heads/1 diff --git a/tests/resources/merge-octopus-fail/.gitted/ORIG_HEAD b/tests/resources/merge-octopus-fail/.gitted/ORIG_HEAD new file mode 100644 index 00000000000..bd040fafb02 --- /dev/null +++ b/tests/resources/merge-octopus-fail/.gitted/ORIG_HEAD @@ -0,0 +1 @@ +814d989bbd2a92142c6655980fc2108b8b6c666e diff --git a/tests/resources/merge-octopus-fail/.gitted/config b/tests/resources/merge-octopus-fail/.gitted/config new file mode 100644 index 00000000000..515f4836297 --- /dev/null +++ b/tests/resources/merge-octopus-fail/.gitted/config @@ -0,0 +1,5 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true diff --git a/tests/resources/merge-octopus-fail/.gitted/description b/tests/resources/merge-octopus-fail/.gitted/description new file mode 100644 index 00000000000..498b267a8c7 --- /dev/null +++ b/tests/resources/merge-octopus-fail/.gitted/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/tests/resources/merge-octopus-fail/.gitted/index b/tests/resources/merge-octopus-fail/.gitted/index new file mode 100644 index 00000000000..a8780ecd191 Binary files /dev/null and b/tests/resources/merge-octopus-fail/.gitted/index differ diff --git a/tests/resources/merge-octopus-fail/.gitted/logs/HEAD b/tests/resources/merge-octopus-fail/.gitted/logs/HEAD new file mode 100644 index 00000000000..eb13d2152ba --- /dev/null +++ b/tests/resources/merge-octopus-fail/.gitted/logs/HEAD @@ -0,0 +1,15 @@ +0000000000000000000000000000000000000000 4a5f9d3a584940915f663e6e98e07df083340f6e Sam 1757445786 -0400 commit (initial): Add master file +4a5f9d3a584940915f663e6e98e07df083340f6e 4a5f9d3a584940915f663e6e98e07df083340f6e Sam 1757445798 -0400 checkout: moving from master to 1 +4a5f9d3a584940915f663e6e98e07df083340f6e 6126bbba4f1b475bb8dcea5149c58e7c7bcff62d Sam 1757445833 -0400 commit: add conflict +6126bbba4f1b475bb8dcea5149c58e7c7bcff62d 4a5f9d3a584940915f663e6e98e07df083340f6e Sam 1757445841 -0400 checkout: moving from 1 to 2 +4a5f9d3a584940915f663e6e98e07df083340f6e 7264ba67a9dde172fabc107220de0a4595e361ec Sam 1757445851 -0400 commit: add conflict +7264ba67a9dde172fabc107220de0a4595e361ec 6126bbba4f1b475bb8dcea5149c58e7c7bcff62d Sam 1757445856 -0400 checkout: moving from 2 to 1 +6126bbba4f1b475bb8dcea5149c58e7c7bcff62d 4a5f9d3a584940915f663e6e98e07df083340f6e Sam 1757445867 -0400 reset: moving to HEAD~1 +4a5f9d3a584940915f663e6e98e07df083340f6e 5b9e238671e7c9ed38a33485d22067627f35ff06 Sam 1757445887 -0400 commit: add conflict +5b9e238671e7c9ed38a33485d22067627f35ff06 4a5f9d3a584940915f663e6e98e07df083340f6e Sam 1757445898 -0400 checkout: moving from 1 to t +4a5f9d3a584940915f663e6e98e07df083340f6e 4a5f9d3a584940915f663e6e98e07df083340f6e Sam 1757445929 -0400 reset: moving to HEAD +4a5f9d3a584940915f663e6e98e07df083340f6e 4a5f9d3a584940915f663e6e98e07df083340f6e Sam 1757445938 -0400 checkout: moving from t to 3 +4a5f9d3a584940915f663e6e98e07df083340f6e 38a54de2588abfef1a68110466c233d63ab0b3dd Sam 1757445958 -0400 commit: test +38a54de2588abfef1a68110466c233d63ab0b3dd 4a5f9d3a584940915f663e6e98e07df083340f6e Sam 1757445962 -0400 checkout: moving from 3 to t +4a5f9d3a584940915f663e6e98e07df083340f6e 814d989bbd2a92142c6655980fc2108b8b6c666e Sam 1757448994 -0400 commit: Yes +814d989bbd2a92142c6655980fc2108b8b6c666e 5b9e238671e7c9ed38a33485d22067627f35ff06 Sam 1757459390 -0400 checkout: moving from t to 1 diff --git a/tests/resources/merge-octopus-fail/.gitted/logs/refs/heads/1 b/tests/resources/merge-octopus-fail/.gitted/logs/refs/heads/1 new file mode 100644 index 00000000000..a8b64466d89 --- /dev/null +++ b/tests/resources/merge-octopus-fail/.gitted/logs/refs/heads/1 @@ -0,0 +1,4 @@ +0000000000000000000000000000000000000000 4a5f9d3a584940915f663e6e98e07df083340f6e Sam 1757445798 -0400 branch: Created from HEAD +4a5f9d3a584940915f663e6e98e07df083340f6e 6126bbba4f1b475bb8dcea5149c58e7c7bcff62d Sam 1757445833 -0400 commit: add conflict +6126bbba4f1b475bb8dcea5149c58e7c7bcff62d 4a5f9d3a584940915f663e6e98e07df083340f6e Sam 1757445867 -0400 reset: moving to HEAD~1 +4a5f9d3a584940915f663e6e98e07df083340f6e 5b9e238671e7c9ed38a33485d22067627f35ff06 Sam 1757445887 -0400 commit: add conflict diff --git a/tests/resources/merge-octopus-fail/.gitted/logs/refs/heads/2 b/tests/resources/merge-octopus-fail/.gitted/logs/refs/heads/2 new file mode 100644 index 00000000000..f26e7fcd64b --- /dev/null +++ b/tests/resources/merge-octopus-fail/.gitted/logs/refs/heads/2 @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 4a5f9d3a584940915f663e6e98e07df083340f6e Sam 1757445841 -0400 branch: Created from master +4a5f9d3a584940915f663e6e98e07df083340f6e 7264ba67a9dde172fabc107220de0a4595e361ec Sam 1757445851 -0400 commit: add conflict diff --git a/tests/resources/merge-octopus-fail/.gitted/logs/refs/heads/3 b/tests/resources/merge-octopus-fail/.gitted/logs/refs/heads/3 new file mode 100644 index 00000000000..8514af9482a --- /dev/null +++ b/tests/resources/merge-octopus-fail/.gitted/logs/refs/heads/3 @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 4a5f9d3a584940915f663e6e98e07df083340f6e Sam 1757445938 -0400 branch: Created from master +4a5f9d3a584940915f663e6e98e07df083340f6e 38a54de2588abfef1a68110466c233d63ab0b3dd Sam 1757445958 -0400 commit: test diff --git a/tests/resources/merge-octopus-fail/.gitted/logs/refs/heads/master b/tests/resources/merge-octopus-fail/.gitted/logs/refs/heads/master new file mode 100644 index 00000000000..ca01647b093 --- /dev/null +++ b/tests/resources/merge-octopus-fail/.gitted/logs/refs/heads/master @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 4a5f9d3a584940915f663e6e98e07df083340f6e Sam 1757445786 -0400 commit (initial): Add master file diff --git a/tests/resources/merge-octopus-fail/.gitted/logs/refs/heads/t b/tests/resources/merge-octopus-fail/.gitted/logs/refs/heads/t new file mode 100644 index 00000000000..8799a0b0ac2 --- /dev/null +++ b/tests/resources/merge-octopus-fail/.gitted/logs/refs/heads/t @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 4a5f9d3a584940915f663e6e98e07df083340f6e Sam 1757445898 -0400 branch: Created from master +4a5f9d3a584940915f663e6e98e07df083340f6e 814d989bbd2a92142c6655980fc2108b8b6c666e Sam 1757448994 -0400 commit: Yes diff --git a/tests/resources/merge-octopus-fail/.gitted/objects/03/4fb5a71eb7f526a847059ab6dd0a07613a01cc b/tests/resources/merge-octopus-fail/.gitted/objects/03/4fb5a71eb7f526a847059ab6dd0a07613a01cc new file mode 100644 index 00000000000..b0e92edacf2 Binary files /dev/null and b/tests/resources/merge-octopus-fail/.gitted/objects/03/4fb5a71eb7f526a847059ab6dd0a07613a01cc differ diff --git a/tests/resources/merge-octopus-fail/.gitted/objects/17/6155ee405e4b32eddbabd01d50a5bbb4ceca35 b/tests/resources/merge-octopus-fail/.gitted/objects/17/6155ee405e4b32eddbabd01d50a5bbb4ceca35 new file mode 100644 index 00000000000..e58e3c292a9 Binary files /dev/null and b/tests/resources/merge-octopus-fail/.gitted/objects/17/6155ee405e4b32eddbabd01d50a5bbb4ceca35 differ diff --git a/tests/resources/merge-octopus-fail/.gitted/objects/1e/d6543483aafc93c5323daea1860bd7a29857d4 b/tests/resources/merge-octopus-fail/.gitted/objects/1e/d6543483aafc93c5323daea1860bd7a29857d4 new file mode 100644 index 00000000000..e3f9d455e66 Binary files /dev/null and b/tests/resources/merge-octopus-fail/.gitted/objects/1e/d6543483aafc93c5323daea1860bd7a29857d4 differ diff --git a/tests/resources/merge-octopus-fail/.gitted/objects/21/3673411cb3ff1f7c7a7b8102885f3cbe484a3b b/tests/resources/merge-octopus-fail/.gitted/objects/21/3673411cb3ff1f7c7a7b8102885f3cbe484a3b new file mode 100644 index 00000000000..669d2552399 Binary files /dev/null and b/tests/resources/merge-octopus-fail/.gitted/objects/21/3673411cb3ff1f7c7a7b8102885f3cbe484a3b differ diff --git a/tests/resources/merge-octopus-fail/.gitted/objects/34/5392884305854b3a94fc7d7d618e68bc0d87f9 b/tests/resources/merge-octopus-fail/.gitted/objects/34/5392884305854b3a94fc7d7d618e68bc0d87f9 new file mode 100644 index 00000000000..7fef7e9a270 Binary files /dev/null and b/tests/resources/merge-octopus-fail/.gitted/objects/34/5392884305854b3a94fc7d7d618e68bc0d87f9 differ diff --git a/tests/resources/merge-octopus-fail/.gitted/objects/36/6f17ff507eeda97ee143e1ae7ef7933e52f89b b/tests/resources/merge-octopus-fail/.gitted/objects/36/6f17ff507eeda97ee143e1ae7ef7933e52f89b new file mode 100644 index 00000000000..1516a531018 Binary files /dev/null and b/tests/resources/merge-octopus-fail/.gitted/objects/36/6f17ff507eeda97ee143e1ae7ef7933e52f89b differ diff --git a/tests/resources/merge-octopus-fail/.gitted/objects/38/a54de2588abfef1a68110466c233d63ab0b3dd b/tests/resources/merge-octopus-fail/.gitted/objects/38/a54de2588abfef1a68110466c233d63ab0b3dd new file mode 100644 index 00000000000..9d914243394 Binary files /dev/null and b/tests/resources/merge-octopus-fail/.gitted/objects/38/a54de2588abfef1a68110466c233d63ab0b3dd differ diff --git a/tests/resources/merge-octopus-fail/.gitted/objects/4a/5f9d3a584940915f663e6e98e07df083340f6e b/tests/resources/merge-octopus-fail/.gitted/objects/4a/5f9d3a584940915f663e6e98e07df083340f6e new file mode 100644 index 00000000000..fff07b5b09f --- /dev/null +++ b/tests/resources/merge-octopus-fail/.gitted/objects/4a/5f9d3a584940915f663e6e98e07df083340f6e @@ -0,0 +1,2 @@ +xm +!~{@樳Qg~ v#7v:x:͑3XtvՎnW,1i:Q(|Or5egk[b Qku5J=RJmY}5 \ No newline at end of file diff --git a/tests/resources/merge-octopus-fail/.gitted/objects/58/7456145fc092101bd02f53bca86b9fc01a2b0a b/tests/resources/merge-octopus-fail/.gitted/objects/58/7456145fc092101bd02f53bca86b9fc01a2b0a new file mode 100644 index 00000000000..e412a61d382 Binary files /dev/null and b/tests/resources/merge-octopus-fail/.gitted/objects/58/7456145fc092101bd02f53bca86b9fc01a2b0a differ diff --git a/tests/resources/merge-octopus-fail/.gitted/objects/5b/9e238671e7c9ed38a33485d22067627f35ff06 b/tests/resources/merge-octopus-fail/.gitted/objects/5b/9e238671e7c9ed38a33485d22067627f35ff06 new file mode 100644 index 00000000000..0b128164dd5 Binary files /dev/null and b/tests/resources/merge-octopus-fail/.gitted/objects/5b/9e238671e7c9ed38a33485d22067627f35ff06 differ diff --git a/tests/resources/merge-octopus-fail/.gitted/objects/61/26bbba4f1b475bb8dcea5149c58e7c7bcff62d b/tests/resources/merge-octopus-fail/.gitted/objects/61/26bbba4f1b475bb8dcea5149c58e7c7bcff62d new file mode 100644 index 00000000000..d048d09a8a4 Binary files /dev/null and b/tests/resources/merge-octopus-fail/.gitted/objects/61/26bbba4f1b475bb8dcea5149c58e7c7bcff62d differ diff --git a/tests/resources/merge-octopus-fail/.gitted/objects/64/997544e75c16adf5c165d5978bf26e0b069ed1 b/tests/resources/merge-octopus-fail/.gitted/objects/64/997544e75c16adf5c165d5978bf26e0b069ed1 new file mode 100644 index 00000000000..0486dc59022 Binary files /dev/null and b/tests/resources/merge-octopus-fail/.gitted/objects/64/997544e75c16adf5c165d5978bf26e0b069ed1 differ diff --git a/tests/resources/merge-octopus-fail/.gitted/objects/72/64ba67a9dde172fabc107220de0a4595e361ec b/tests/resources/merge-octopus-fail/.gitted/objects/72/64ba67a9dde172fabc107220de0a4595e361ec new file mode 100644 index 00000000000..ff41e3691df --- /dev/null +++ b/tests/resources/merge-octopus-fail/.gitted/objects/72/64ba67a9dde172fabc107220de0a4595e361ec @@ -0,0 +1,2 @@ +x !@Q 0#1`%Y\ؿۂ79{mjkic2L~uV@ +GkKgK(v C^S#SM1ELPމBC^s]_xM~{tnے~&P@HFQ))ť輿T?xB \ No newline at end of file diff --git a/tests/resources/merge-octopus-fail/.gitted/objects/81/4d989bbd2a92142c6655980fc2108b8b6c666e b/tests/resources/merge-octopus-fail/.gitted/objects/81/4d989bbd2a92142c6655980fc2108b8b6c666e new file mode 100644 index 00000000000..ac2e6371572 Binary files /dev/null and b/tests/resources/merge-octopus-fail/.gitted/objects/81/4d989bbd2a92142c6655980fc2108b8b6c666e differ diff --git a/tests/resources/merge-octopus-fail/.gitted/objects/88/91a56b32e0eda8225dcc6d803c4f5ac254e2b7 b/tests/resources/merge-octopus-fail/.gitted/objects/88/91a56b32e0eda8225dcc6d803c4f5ac254e2b7 new file mode 100644 index 00000000000..a409ff6ddc1 Binary files /dev/null and b/tests/resources/merge-octopus-fail/.gitted/objects/88/91a56b32e0eda8225dcc6d803c4f5ac254e2b7 differ diff --git a/tests/resources/merge-octopus-fail/.gitted/objects/bc/21ea9d54c2b7083982a0204c99b8e41dbe4c2c b/tests/resources/merge-octopus-fail/.gitted/objects/bc/21ea9d54c2b7083982a0204c99b8e41dbe4c2c new file mode 100644 index 00000000000..b173c00224d Binary files /dev/null and b/tests/resources/merge-octopus-fail/.gitted/objects/bc/21ea9d54c2b7083982a0204c99b8e41dbe4c2c differ diff --git a/tests/resources/merge-octopus-fail/.gitted/objects/be/2ee30a6e279eeb45ebd850a20ea89f4d75ea0d b/tests/resources/merge-octopus-fail/.gitted/objects/be/2ee30a6e279eeb45ebd850a20ea89f4d75ea0d new file mode 100644 index 00000000000..a0f4c3b2ad9 Binary files /dev/null and b/tests/resources/merge-octopus-fail/.gitted/objects/be/2ee30a6e279eeb45ebd850a20ea89f4d75ea0d differ diff --git a/tests/resources/merge-octopus-fail/.gitted/objects/c5/05f79b4324b633df993be5908eaec24ba971ad b/tests/resources/merge-octopus-fail/.gitted/objects/c5/05f79b4324b633df993be5908eaec24ba971ad new file mode 100644 index 00000000000..e294285ad7c Binary files /dev/null and b/tests/resources/merge-octopus-fail/.gitted/objects/c5/05f79b4324b633df993be5908eaec24ba971ad differ diff --git a/tests/resources/merge-octopus-fail/.gitted/objects/fa/c580e980837fda4244a08ee543e0e0aa16f2e2 b/tests/resources/merge-octopus-fail/.gitted/objects/fa/c580e980837fda4244a08ee543e0e0aa16f2e2 new file mode 100644 index 00000000000..85bff141485 Binary files /dev/null and b/tests/resources/merge-octopus-fail/.gitted/objects/fa/c580e980837fda4244a08ee543e0e0aa16f2e2 differ diff --git a/tests/resources/merge-octopus-fail/.gitted/refs/heads/1 b/tests/resources/merge-octopus-fail/.gitted/refs/heads/1 new file mode 100644 index 00000000000..0a797d5f6a1 --- /dev/null +++ b/tests/resources/merge-octopus-fail/.gitted/refs/heads/1 @@ -0,0 +1 @@ +5b9e238671e7c9ed38a33485d22067627f35ff06 diff --git a/tests/resources/merge-octopus-fail/.gitted/refs/heads/2 b/tests/resources/merge-octopus-fail/.gitted/refs/heads/2 new file mode 100644 index 00000000000..6a6440ed0d0 --- /dev/null +++ b/tests/resources/merge-octopus-fail/.gitted/refs/heads/2 @@ -0,0 +1 @@ +7264ba67a9dde172fabc107220de0a4595e361ec diff --git a/tests/resources/merge-octopus-fail/.gitted/refs/heads/3 b/tests/resources/merge-octopus-fail/.gitted/refs/heads/3 new file mode 100644 index 00000000000..7a4996567c0 --- /dev/null +++ b/tests/resources/merge-octopus-fail/.gitted/refs/heads/3 @@ -0,0 +1 @@ +38a54de2588abfef1a68110466c233d63ab0b3dd diff --git a/tests/resources/merge-octopus-fail/.gitted/refs/heads/master b/tests/resources/merge-octopus-fail/.gitted/refs/heads/master new file mode 100644 index 00000000000..6c2f7f78439 --- /dev/null +++ b/tests/resources/merge-octopus-fail/.gitted/refs/heads/master @@ -0,0 +1 @@ +4a5f9d3a584940915f663e6e98e07df083340f6e diff --git a/tests/resources/merge-octopus-fail/.gitted/refs/heads/t b/tests/resources/merge-octopus-fail/.gitted/refs/heads/t new file mode 100644 index 00000000000..bd040fafb02 --- /dev/null +++ b/tests/resources/merge-octopus-fail/.gitted/refs/heads/t @@ -0,0 +1 @@ +814d989bbd2a92142c6655980fc2108b8b6c666e diff --git a/tests/resources/merge-octopus-fail/conflict.txt b/tests/resources/merge-octopus-fail/conflict.txt new file mode 100644 index 00000000000..366f17ff507 --- /dev/null +++ b/tests/resources/merge-octopus-fail/conflict.txt @@ -0,0 +1 @@ +file 1 diff --git a/tests/resources/merge-octopus-fail/master.txt b/tests/resources/merge-octopus-fail/master.txt new file mode 100644 index 00000000000..1ed6543483a --- /dev/null +++ b/tests/resources/merge-octopus-fail/master.txt @@ -0,0 +1 @@ +Some contents diff --git a/tests/resources/merge-octopus/.gitted/COMMIT_EDITMSG b/tests/resources/merge-octopus/.gitted/COMMIT_EDITMSG new file mode 100644 index 00000000000..75bba2ff9d0 --- /dev/null +++ b/tests/resources/merge-octopus/.gitted/COMMIT_EDITMSG @@ -0,0 +1 @@ +Add file in target diff --git a/tests/resources/merge-octopus/.gitted/HEAD b/tests/resources/merge-octopus/.gitted/HEAD new file mode 100644 index 00000000000..c5eda3dded3 --- /dev/null +++ b/tests/resources/merge-octopus/.gitted/HEAD @@ -0,0 +1 @@ +ref: refs/heads/target diff --git a/tests/resources/merge-octopus/.gitted/ORIG_HEAD b/tests/resources/merge-octopus/.gitted/ORIG_HEAD new file mode 100644 index 00000000000..013cd9c5065 --- /dev/null +++ b/tests/resources/merge-octopus/.gitted/ORIG_HEAD @@ -0,0 +1 @@ +234ee5996b32c13c121af3ca7f4399991c7749bc diff --git a/tests/resources/merge-octopus/.gitted/config b/tests/resources/merge-octopus/.gitted/config new file mode 100644 index 00000000000..515f4836297 --- /dev/null +++ b/tests/resources/merge-octopus/.gitted/config @@ -0,0 +1,5 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true diff --git a/tests/resources/merge-octopus/.gitted/description b/tests/resources/merge-octopus/.gitted/description new file mode 100644 index 00000000000..498b267a8c7 --- /dev/null +++ b/tests/resources/merge-octopus/.gitted/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/tests/resources/merge-octopus/.gitted/index b/tests/resources/merge-octopus/.gitted/index new file mode 100644 index 00000000000..6ae7326097e Binary files /dev/null and b/tests/resources/merge-octopus/.gitted/index differ diff --git a/tests/resources/merge-octopus/.gitted/logs/HEAD b/tests/resources/merge-octopus/.gitted/logs/HEAD new file mode 100644 index 00000000000..81f14766f97 --- /dev/null +++ b/tests/resources/merge-octopus/.gitted/logs/HEAD @@ -0,0 +1,20 @@ +0000000000000000000000000000000000000000 b9fe1c1159fbfa8235ea0e5487174ab7703fa3d7 Sam 1756850619 -0400 commit (initial): Add file in master +b9fe1c1159fbfa8235ea0e5487174ab7703fa3d7 b9fe1c1159fbfa8235ea0e5487174ab7703fa3d7 Sam 1756850901 -0400 checkout: moving from master to branch1 +b9fe1c1159fbfa8235ea0e5487174ab7703fa3d7 6f0d756ce9aa7ca2e3f5d29f7127298905fcd02d Sam 1756850945 -0400 commit: Add file in branch1 +6f0d756ce9aa7ca2e3f5d29f7127298905fcd02d a4f76792d9bbf5a939cfc43a7a0df48bd8f0efb2 Sam 1756851010 -0400 commit: Added contents to file in branch1 +a4f76792d9bbf5a939cfc43a7a0df48bd8f0efb2 a4f76792d9bbf5a939cfc43a7a0df48bd8f0efb2 Sam 1756851028 -0400 checkout: moving from branch1 to branch1-b +a4f76792d9bbf5a939cfc43a7a0df48bd8f0efb2 d5b8b3e29080838047c80e139d46d381c8200253 Sam 1756851061 -0400 commit: Add further contents from branch1-b +d5b8b3e29080838047c80e139d46d381c8200253 b9fe1c1159fbfa8235ea0e5487174ab7703fa3d7 Sam 1756851132 -0400 checkout: moving from branch1-b to master +b9fe1c1159fbfa8235ea0e5487174ab7703fa3d7 b9fe1c1159fbfa8235ea0e5487174ab7703fa3d7 Sam 1756851138 -0400 checkout: moving from master to branch2 +b9fe1c1159fbfa8235ea0e5487174ab7703fa3d7 5e031e58b74999457be4992284c34393839e3db8 Sam 1756851164 -0400 commit: Add file in branch 2 +5e031e58b74999457be4992284c34393839e3db8 e71492f4c6d8d48fae9bd1cc932697a5f9db7885 Sam 1756851198 -0400 commit: Add contents in branch2 +e71492f4c6d8d48fae9bd1cc932697a5f9db7885 b904bbfb2674a1df716feaf9cc30c51ca4e2f351 Sam 1756851213 -0400 commit: Add contents in branch2 +b904bbfb2674a1df716feaf9cc30c51ca4e2f351 b9fe1c1159fbfa8235ea0e5487174ab7703fa3d7 Sam 1756851244 -0400 checkout: moving from branch2 to master +b9fe1c1159fbfa8235ea0e5487174ab7703fa3d7 b9fe1c1159fbfa8235ea0e5487174ab7703fa3d7 Sam 1756851252 -0400 checkout: moving from master to target +b9fe1c1159fbfa8235ea0e5487174ab7703fa3d7 b9fe1c1159fbfa8235ea0e5487174ab7703fa3d7 Sam 1756851257 -0400 checkout: moving from target to master +b9fe1c1159fbfa8235ea0e5487174ab7703fa3d7 b9fe1c1159fbfa8235ea0e5487174ab7703fa3d7 Sam 1756851270 -0400 checkout: moving from master to branch3 +b9fe1c1159fbfa8235ea0e5487174ab7703fa3d7 ab259f7fed16f82a7fe3c0fce7f94536b14cea7c Sam 1756851292 -0400 commit: Add file in branch3 +ab259f7fed16f82a7fe3c0fce7f94536b14cea7c 07f14b3a5eeb7d6db41f03bf7f29d5a404d9de16 Sam 1756851339 -0400 commit: Add contents in branch3 +07f14b3a5eeb7d6db41f03bf7f29d5a404d9de16 b9fe1c1159fbfa8235ea0e5487174ab7703fa3d7 Sam 1756851348 -0400 checkout: moving from branch3 to master +b9fe1c1159fbfa8235ea0e5487174ab7703fa3d7 b9fe1c1159fbfa8235ea0e5487174ab7703fa3d7 Sam 1756862129 -0400 checkout: moving from master to target +b9fe1c1159fbfa8235ea0e5487174ab7703fa3d7 7be9036b857dbbf44543a3a87276fac3cfc94427 Sam 1756930302 -0400 commit: Add file in target diff --git a/tests/resources/merge-octopus/.gitted/logs/refs/heads/branch1 b/tests/resources/merge-octopus/.gitted/logs/refs/heads/branch1 new file mode 100644 index 00000000000..9b438272d22 --- /dev/null +++ b/tests/resources/merge-octopus/.gitted/logs/refs/heads/branch1 @@ -0,0 +1,3 @@ +0000000000000000000000000000000000000000 b9fe1c1159fbfa8235ea0e5487174ab7703fa3d7 Sam 1756850901 -0400 branch: Created from HEAD +b9fe1c1159fbfa8235ea0e5487174ab7703fa3d7 6f0d756ce9aa7ca2e3f5d29f7127298905fcd02d Sam 1756850945 -0400 commit: Add file in branch1 +6f0d756ce9aa7ca2e3f5d29f7127298905fcd02d a4f76792d9bbf5a939cfc43a7a0df48bd8f0efb2 Sam 1756851010 -0400 commit: Added contents to file in branch1 diff --git a/tests/resources/merge-octopus/.gitted/logs/refs/heads/branch1-b b/tests/resources/merge-octopus/.gitted/logs/refs/heads/branch1-b new file mode 100644 index 00000000000..70e0fd6ea97 --- /dev/null +++ b/tests/resources/merge-octopus/.gitted/logs/refs/heads/branch1-b @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 a4f76792d9bbf5a939cfc43a7a0df48bd8f0efb2 Sam 1756851028 -0400 branch: Created from HEAD +a4f76792d9bbf5a939cfc43a7a0df48bd8f0efb2 d5b8b3e29080838047c80e139d46d381c8200253 Sam 1756851061 -0400 commit: Add further contents from branch1-b diff --git a/tests/resources/merge-octopus/.gitted/logs/refs/heads/branch2 b/tests/resources/merge-octopus/.gitted/logs/refs/heads/branch2 new file mode 100644 index 00000000000..35f0d832e0b --- /dev/null +++ b/tests/resources/merge-octopus/.gitted/logs/refs/heads/branch2 @@ -0,0 +1,4 @@ +0000000000000000000000000000000000000000 b9fe1c1159fbfa8235ea0e5487174ab7703fa3d7 Sam 1756851138 -0400 branch: Created from HEAD +b9fe1c1159fbfa8235ea0e5487174ab7703fa3d7 5e031e58b74999457be4992284c34393839e3db8 Sam 1756851164 -0400 commit: Add file in branch 2 +5e031e58b74999457be4992284c34393839e3db8 e71492f4c6d8d48fae9bd1cc932697a5f9db7885 Sam 1756851198 -0400 commit: Add contents in branch2 +e71492f4c6d8d48fae9bd1cc932697a5f9db7885 b904bbfb2674a1df716feaf9cc30c51ca4e2f351 Sam 1756851213 -0400 commit: Add contents in branch2 diff --git a/tests/resources/merge-octopus/.gitted/logs/refs/heads/branch3 b/tests/resources/merge-octopus/.gitted/logs/refs/heads/branch3 new file mode 100644 index 00000000000..45de5a23765 --- /dev/null +++ b/tests/resources/merge-octopus/.gitted/logs/refs/heads/branch3 @@ -0,0 +1,3 @@ +0000000000000000000000000000000000000000 b9fe1c1159fbfa8235ea0e5487174ab7703fa3d7 Sam 1756851270 -0400 branch: Created from HEAD +b9fe1c1159fbfa8235ea0e5487174ab7703fa3d7 ab259f7fed16f82a7fe3c0fce7f94536b14cea7c Sam 1756851292 -0400 commit: Add file in branch3 +ab259f7fed16f82a7fe3c0fce7f94536b14cea7c 07f14b3a5eeb7d6db41f03bf7f29d5a404d9de16 Sam 1756851339 -0400 commit: Add contents in branch3 diff --git a/tests/resources/merge-octopus/.gitted/logs/refs/heads/master b/tests/resources/merge-octopus/.gitted/logs/refs/heads/master new file mode 100644 index 00000000000..b2623120f4b --- /dev/null +++ b/tests/resources/merge-octopus/.gitted/logs/refs/heads/master @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 b9fe1c1159fbfa8235ea0e5487174ab7703fa3d7 Sam 1756850619 -0400 commit (initial): Add file in master diff --git a/tests/resources/merge-octopus/.gitted/logs/refs/heads/target b/tests/resources/merge-octopus/.gitted/logs/refs/heads/target new file mode 100644 index 00000000000..5db39d3cb33 --- /dev/null +++ b/tests/resources/merge-octopus/.gitted/logs/refs/heads/target @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 b9fe1c1159fbfa8235ea0e5487174ab7703fa3d7 Sam 1756851252 -0400 branch: Created from HEAD +b9fe1c1159fbfa8235ea0e5487174ab7703fa3d7 7be9036b857dbbf44543a3a87276fac3cfc94427 Sam 1756930302 -0400 commit: Add file in target diff --git a/tests/resources/merge-octopus/.gitted/objects/03/a2951bfdc998dfa3b033e74b56f902b971dcc3 b/tests/resources/merge-octopus/.gitted/objects/03/a2951bfdc998dfa3b033e74b56f902b971dcc3 new file mode 100644 index 00000000000..b358ac98431 Binary files /dev/null and b/tests/resources/merge-octopus/.gitted/objects/03/a2951bfdc998dfa3b033e74b56f902b971dcc3 differ diff --git a/tests/resources/merge-octopus/.gitted/objects/07/f14b3a5eeb7d6db41f03bf7f29d5a404d9de16 b/tests/resources/merge-octopus/.gitted/objects/07/f14b3a5eeb7d6db41f03bf7f29d5a404d9de16 new file mode 100644 index 00000000000..112f91cd897 Binary files /dev/null and b/tests/resources/merge-octopus/.gitted/objects/07/f14b3a5eeb7d6db41f03bf7f29d5a404d9de16 differ diff --git a/tests/resources/merge-octopus/.gitted/objects/10/8f43697076b81a30712811f326da350e0b56e8 b/tests/resources/merge-octopus/.gitted/objects/10/8f43697076b81a30712811f326da350e0b56e8 new file mode 100644 index 00000000000..2508ab01c04 Binary files /dev/null and b/tests/resources/merge-octopus/.gitted/objects/10/8f43697076b81a30712811f326da350e0b56e8 differ diff --git a/tests/resources/merge-octopus/.gitted/objects/20/6e7338ee5863b438f3f0602f0c0e5ca89fd7a6 b/tests/resources/merge-octopus/.gitted/objects/20/6e7338ee5863b438f3f0602f0c0e5ca89fd7a6 new file mode 100644 index 00000000000..82015f5dcd7 Binary files /dev/null and b/tests/resources/merge-octopus/.gitted/objects/20/6e7338ee5863b438f3f0602f0c0e5ca89fd7a6 differ diff --git a/tests/resources/merge-octopus/.gitted/objects/23/4ee5996b32c13c121af3ca7f4399991c7749bc b/tests/resources/merge-octopus/.gitted/objects/23/4ee5996b32c13c121af3ca7f4399991c7749bc new file mode 100644 index 00000000000..8a8a123b8b5 Binary files /dev/null and b/tests/resources/merge-octopus/.gitted/objects/23/4ee5996b32c13c121af3ca7f4399991c7749bc differ diff --git a/tests/resources/merge-octopus/.gitted/objects/24/81a2cc662ce05a7f0e52bd283403654a24d61c b/tests/resources/merge-octopus/.gitted/objects/24/81a2cc662ce05a7f0e52bd283403654a24d61c new file mode 100644 index 00000000000..0d7dcfcaa94 Binary files /dev/null and b/tests/resources/merge-octopus/.gitted/objects/24/81a2cc662ce05a7f0e52bd283403654a24d61c differ diff --git a/tests/resources/merge-octopus/.gitted/objects/2b/4e07668a3021fff24c4e1d0c5bb61e959c122d b/tests/resources/merge-octopus/.gitted/objects/2b/4e07668a3021fff24c4e1d0c5bb61e959c122d new file mode 100644 index 00000000000..8057a743fed Binary files /dev/null and b/tests/resources/merge-octopus/.gitted/objects/2b/4e07668a3021fff24c4e1d0c5bb61e959c122d differ diff --git a/tests/resources/merge-octopus/.gitted/objects/3e/2410cfee439317d54bb68050f724a70a764e57 b/tests/resources/merge-octopus/.gitted/objects/3e/2410cfee439317d54bb68050f724a70a764e57 new file mode 100644 index 00000000000..7b3dc1ecacc Binary files /dev/null and b/tests/resources/merge-octopus/.gitted/objects/3e/2410cfee439317d54bb68050f724a70a764e57 differ diff --git a/tests/resources/merge-octopus/.gitted/objects/44/0b21c82a7faef6b9ce670154c403fe26651464 b/tests/resources/merge-octopus/.gitted/objects/44/0b21c82a7faef6b9ce670154c403fe26651464 new file mode 100644 index 00000000000..f7359d4b2c5 Binary files /dev/null and b/tests/resources/merge-octopus/.gitted/objects/44/0b21c82a7faef6b9ce670154c403fe26651464 differ diff --git a/tests/resources/merge-octopus/.gitted/objects/46/52cb85053eb3a0cb857f62424cf1fce149ef6f b/tests/resources/merge-octopus/.gitted/objects/46/52cb85053eb3a0cb857f62424cf1fce149ef6f new file mode 100644 index 00000000000..4fd5a65f4f0 Binary files /dev/null and b/tests/resources/merge-octopus/.gitted/objects/46/52cb85053eb3a0cb857f62424cf1fce149ef6f differ diff --git a/tests/resources/merge-octopus/.gitted/objects/4c/3b5be56c034e69a1df694b04ca3ca30f70a69b b/tests/resources/merge-octopus/.gitted/objects/4c/3b5be56c034e69a1df694b04ca3ca30f70a69b new file mode 100644 index 00000000000..80436015876 Binary files /dev/null and b/tests/resources/merge-octopus/.gitted/objects/4c/3b5be56c034e69a1df694b04ca3ca30f70a69b differ diff --git a/tests/resources/merge-octopus/.gitted/objects/5e/031e58b74999457be4992284c34393839e3db8 b/tests/resources/merge-octopus/.gitted/objects/5e/031e58b74999457be4992284c34393839e3db8 new file mode 100644 index 00000000000..c6023358249 Binary files /dev/null and b/tests/resources/merge-octopus/.gitted/objects/5e/031e58b74999457be4992284c34393839e3db8 differ diff --git a/tests/resources/merge-octopus/.gitted/objects/60/641bbe020f69a3086217ad4775a0df2554cb1a b/tests/resources/merge-octopus/.gitted/objects/60/641bbe020f69a3086217ad4775a0df2554cb1a new file mode 100644 index 00000000000..c01b7c5b30d Binary files /dev/null and b/tests/resources/merge-octopus/.gitted/objects/60/641bbe020f69a3086217ad4775a0df2554cb1a differ diff --git a/tests/resources/merge-octopus/.gitted/objects/67/e43930989305efbe75ac598126259707078305 b/tests/resources/merge-octopus/.gitted/objects/67/e43930989305efbe75ac598126259707078305 new file mode 100644 index 00000000000..9cabd58bf17 Binary files /dev/null and b/tests/resources/merge-octopus/.gitted/objects/67/e43930989305efbe75ac598126259707078305 differ diff --git a/tests/resources/merge-octopus/.gitted/objects/69/7eb737018ae08a6dfe338115bc6b1b5861b57e b/tests/resources/merge-octopus/.gitted/objects/69/7eb737018ae08a6dfe338115bc6b1b5861b57e new file mode 100644 index 00000000000..74862c46d0b Binary files /dev/null and b/tests/resources/merge-octopus/.gitted/objects/69/7eb737018ae08a6dfe338115bc6b1b5861b57e differ diff --git a/tests/resources/merge-octopus/.gitted/objects/6c/264cc6cf26c7d284580aac8879acb9874ac49d b/tests/resources/merge-octopus/.gitted/objects/6c/264cc6cf26c7d284580aac8879acb9874ac49d new file mode 100644 index 00000000000..94a941cabc9 Binary files /dev/null and b/tests/resources/merge-octopus/.gitted/objects/6c/264cc6cf26c7d284580aac8879acb9874ac49d differ diff --git a/tests/resources/merge-octopus/.gitted/objects/6f/0d756ce9aa7ca2e3f5d29f7127298905fcd02d b/tests/resources/merge-octopus/.gitted/objects/6f/0d756ce9aa7ca2e3f5d29f7127298905fcd02d new file mode 100644 index 00000000000..832b8397544 Binary files /dev/null and b/tests/resources/merge-octopus/.gitted/objects/6f/0d756ce9aa7ca2e3f5d29f7127298905fcd02d differ diff --git a/tests/resources/merge-octopus/.gitted/objects/70/4f66ad3597265446bf90937a088ecfa19b68b1 b/tests/resources/merge-octopus/.gitted/objects/70/4f66ad3597265446bf90937a088ecfa19b68b1 new file mode 100644 index 00000000000..bb9cdf73950 --- /dev/null +++ b/tests/resources/merge-octopus/.gitted/objects/70/4f66ad3597265446bf90937a088ecfa19b68b1 @@ -0,0 +1 @@ +x !EQ000Kb=XJiy|V`Nh'".:cJa5d'. Cr6`Le9DSVϣ;7}}TˇѸK>UylX٠1jmJҐ7? \ No newline at end of file diff --git a/tests/resources/merge-octopus/.gitted/objects/73/d3e5f2055fb49fb8ac8a8674bf0245279064b9 b/tests/resources/merge-octopus/.gitted/objects/73/d3e5f2055fb49fb8ac8a8674bf0245279064b9 new file mode 100644 index 00000000000..8dcf6ea10f3 Binary files /dev/null and b/tests/resources/merge-octopus/.gitted/objects/73/d3e5f2055fb49fb8ac8a8674bf0245279064b9 differ diff --git a/tests/resources/merge-octopus/.gitted/objects/78/577cb251ab4b10540d87e67dfc1dd02c509161 b/tests/resources/merge-octopus/.gitted/objects/78/577cb251ab4b10540d87e67dfc1dd02c509161 new file mode 100644 index 00000000000..217727ce113 Binary files /dev/null and b/tests/resources/merge-octopus/.gitted/objects/78/577cb251ab4b10540d87e67dfc1dd02c509161 differ diff --git a/tests/resources/merge-octopus/.gitted/objects/7a/24a38bd479517d3f9a76a6a44f591bff3fdd58 b/tests/resources/merge-octopus/.gitted/objects/7a/24a38bd479517d3f9a76a6a44f591bff3fdd58 new file mode 100644 index 00000000000..c7e943b30b7 Binary files /dev/null and b/tests/resources/merge-octopus/.gitted/objects/7a/24a38bd479517d3f9a76a6a44f591bff3fdd58 differ diff --git a/tests/resources/merge-octopus/.gitted/objects/7b/e9036b857dbbf44543a3a87276fac3cfc94427 b/tests/resources/merge-octopus/.gitted/objects/7b/e9036b857dbbf44543a3a87276fac3cfc94427 new file mode 100644 index 00000000000..b1033fcc64f Binary files /dev/null and b/tests/resources/merge-octopus/.gitted/objects/7b/e9036b857dbbf44543a3a87276fac3cfc94427 differ diff --git a/tests/resources/merge-octopus/.gitted/objects/7f/af136975b6a6193d6d7afec973af738d7bea91 b/tests/resources/merge-octopus/.gitted/objects/7f/af136975b6a6193d6d7afec973af738d7bea91 new file mode 100644 index 00000000000..a640a1547b0 Binary files /dev/null and b/tests/resources/merge-octopus/.gitted/objects/7f/af136975b6a6193d6d7afec973af738d7bea91 differ diff --git a/tests/resources/merge-octopus/.gitted/objects/82/5b85fd08b0ea88f25ccd5995853d06b51f8eb4 b/tests/resources/merge-octopus/.gitted/objects/82/5b85fd08b0ea88f25ccd5995853d06b51f8eb4 new file mode 100644 index 00000000000..01ba7e7a2a8 Binary files /dev/null and b/tests/resources/merge-octopus/.gitted/objects/82/5b85fd08b0ea88f25ccd5995853d06b51f8eb4 differ diff --git a/tests/resources/merge-octopus/.gitted/objects/89/e449f70fc10e6fb23dba6658ac6709831cec91 b/tests/resources/merge-octopus/.gitted/objects/89/e449f70fc10e6fb23dba6658ac6709831cec91 new file mode 100644 index 00000000000..4ec0e316845 Binary files /dev/null and b/tests/resources/merge-octopus/.gitted/objects/89/e449f70fc10e6fb23dba6658ac6709831cec91 differ diff --git a/tests/resources/merge-octopus/.gitted/objects/9f/a7335e756cc1df8cbbce492cd270340042fade b/tests/resources/merge-octopus/.gitted/objects/9f/a7335e756cc1df8cbbce492cd270340042fade new file mode 100644 index 00000000000..f70a1351620 Binary files /dev/null and b/tests/resources/merge-octopus/.gitted/objects/9f/a7335e756cc1df8cbbce492cd270340042fade differ diff --git a/tests/resources/merge-octopus/.gitted/objects/a4/f76792d9bbf5a939cfc43a7a0df48bd8f0efb2 b/tests/resources/merge-octopus/.gitted/objects/a4/f76792d9bbf5a939cfc43a7a0df48bd8f0efb2 new file mode 100644 index 00000000000..c7f09036940 Binary files /dev/null and b/tests/resources/merge-octopus/.gitted/objects/a4/f76792d9bbf5a939cfc43a7a0df48bd8f0efb2 differ diff --git a/tests/resources/merge-octopus/.gitted/objects/ab/259f7fed16f82a7fe3c0fce7f94536b14cea7c b/tests/resources/merge-octopus/.gitted/objects/ab/259f7fed16f82a7fe3c0fce7f94536b14cea7c new file mode 100644 index 00000000000..ad11fd3b692 Binary files /dev/null and b/tests/resources/merge-octopus/.gitted/objects/ab/259f7fed16f82a7fe3c0fce7f94536b14cea7c differ diff --git a/tests/resources/merge-octopus/.gitted/objects/ae/a2f62afa3d45d9d8022a2e7a7ebda627e95712 b/tests/resources/merge-octopus/.gitted/objects/ae/a2f62afa3d45d9d8022a2e7a7ebda627e95712 new file mode 100644 index 00000000000..feb5fbb9e00 Binary files /dev/null and b/tests/resources/merge-octopus/.gitted/objects/ae/a2f62afa3d45d9d8022a2e7a7ebda627e95712 differ diff --git a/tests/resources/merge-octopus/.gitted/objects/af/4ce7aeb0fbd3eec4215ff1bd8f79eade4cb2df b/tests/resources/merge-octopus/.gitted/objects/af/4ce7aeb0fbd3eec4215ff1bd8f79eade4cb2df new file mode 100644 index 00000000000..f3b498af714 Binary files /dev/null and b/tests/resources/merge-octopus/.gitted/objects/af/4ce7aeb0fbd3eec4215ff1bd8f79eade4cb2df differ diff --git a/tests/resources/merge-octopus/.gitted/objects/b9/04bbfb2674a1df716feaf9cc30c51ca4e2f351 b/tests/resources/merge-octopus/.gitted/objects/b9/04bbfb2674a1df716feaf9cc30c51ca4e2f351 new file mode 100644 index 00000000000..14edefd82e1 Binary files /dev/null and b/tests/resources/merge-octopus/.gitted/objects/b9/04bbfb2674a1df716feaf9cc30c51ca4e2f351 differ diff --git a/tests/resources/merge-octopus/.gitted/objects/b9/fe1c1159fbfa8235ea0e5487174ab7703fa3d7 b/tests/resources/merge-octopus/.gitted/objects/b9/fe1c1159fbfa8235ea0e5487174ab7703fa3d7 new file mode 100644 index 00000000000..53fb966f3d9 Binary files /dev/null and b/tests/resources/merge-octopus/.gitted/objects/b9/fe1c1159fbfa8235ea0e5487174ab7703fa3d7 differ diff --git a/tests/resources/merge-octopus/.gitted/objects/bc/8359fca4381e671000798bd503470f6173c54d b/tests/resources/merge-octopus/.gitted/objects/bc/8359fca4381e671000798bd503470f6173c54d new file mode 100644 index 00000000000..ebd825adf45 Binary files /dev/null and b/tests/resources/merge-octopus/.gitted/objects/bc/8359fca4381e671000798bd503470f6173c54d differ diff --git a/tests/resources/merge-octopus/.gitted/objects/d4/cf3c5fb3d0b4273f24432ab77fa5214f3180b5 b/tests/resources/merge-octopus/.gitted/objects/d4/cf3c5fb3d0b4273f24432ab77fa5214f3180b5 new file mode 100644 index 00000000000..a541c5b6780 Binary files /dev/null and b/tests/resources/merge-octopus/.gitted/objects/d4/cf3c5fb3d0b4273f24432ab77fa5214f3180b5 differ diff --git a/tests/resources/merge-octopus/.gitted/objects/d5/b8b3e29080838047c80e139d46d381c8200253 b/tests/resources/merge-octopus/.gitted/objects/d5/b8b3e29080838047c80e139d46d381c8200253 new file mode 100644 index 00000000000..8e2769a41fe --- /dev/null +++ b/tests/resources/merge-octopus/.gitted/objects/d5/b8b3e29080838047c80e139d46d381c8200253 @@ -0,0 +1,3 @@ +xi1 @| +5BHjHdgi!\ ֬b1JBj5DmBhc@g=k1l5<-KqdR԰b >&|sw~Oq?:Dsm) +5~A6P&ӭ?K* \ No newline at end of file diff --git a/tests/resources/merge-octopus/.gitted/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 b/tests/resources/merge-octopus/.gitted/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 new file mode 100644 index 00000000000..71122389437 Binary files /dev/null and b/tests/resources/merge-octopus/.gitted/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 differ diff --git a/tests/resources/merge-octopus/.gitted/objects/e7/1492f4c6d8d48fae9bd1cc932697a5f9db7885 b/tests/resources/merge-octopus/.gitted/objects/e7/1492f4c6d8d48fae9bd1cc932697a5f9db7885 new file mode 100644 index 00000000000..9e5572139d5 Binary files /dev/null and b/tests/resources/merge-octopus/.gitted/objects/e7/1492f4c6d8d48fae9bd1cc932697a5f9db7885 differ diff --git a/tests/resources/merge-octopus/.gitted/objects/f2/47acff676c3c415e99f85fbd0dfbfbf2a1a346 b/tests/resources/merge-octopus/.gitted/objects/f2/47acff676c3c415e99f85fbd0dfbfbf2a1a346 new file mode 100644 index 00000000000..ce4d468545f Binary files /dev/null and b/tests/resources/merge-octopus/.gitted/objects/f2/47acff676c3c415e99f85fbd0dfbfbf2a1a346 differ diff --git a/tests/resources/merge-octopus/.gitted/objects/fa/f37db7815e1c6e21e8276d2c353c5a74b066f8 b/tests/resources/merge-octopus/.gitted/objects/fa/f37db7815e1c6e21e8276d2c353c5a74b066f8 new file mode 100644 index 00000000000..7a67438e840 Binary files /dev/null and b/tests/resources/merge-octopus/.gitted/objects/fa/f37db7815e1c6e21e8276d2c353c5a74b066f8 differ diff --git a/tests/resources/merge-octopus/.gitted/objects/fd/06a2a3889198bee6fd726d69f0074b85014b8e b/tests/resources/merge-octopus/.gitted/objects/fd/06a2a3889198bee6fd726d69f0074b85014b8e new file mode 100644 index 00000000000..d17b451eaa7 --- /dev/null +++ b/tests/resources/merge-octopus/.gitted/objects/fd/06a2a3889198bee6fd726d69f0074b85014b8e @@ -0,0 +1,4 @@ +xQ +0 a{\,҂wjauR|k-F̀0((s +Bc <ΫGg ^RF 9e #{S4?!4 gU~sop +z6|U6,{τQ;?t]ON?? \ No newline at end of file diff --git a/tests/resources/merge-octopus/.gitted/packed-refs b/tests/resources/merge-octopus/.gitted/packed-refs new file mode 100644 index 00000000000..250f1873849 --- /dev/null +++ b/tests/resources/merge-octopus/.gitted/packed-refs @@ -0,0 +1 @@ +# pack-refs with: peeled fully-peeled sorted diff --git a/tests/resources/merge-octopus/.gitted/refs/heads/branch1 b/tests/resources/merge-octopus/.gitted/refs/heads/branch1 new file mode 100644 index 00000000000..71aa23cc833 --- /dev/null +++ b/tests/resources/merge-octopus/.gitted/refs/heads/branch1 @@ -0,0 +1 @@ +a4f76792d9bbf5a939cfc43a7a0df48bd8f0efb2 diff --git a/tests/resources/merge-octopus/.gitted/refs/heads/branch1-b b/tests/resources/merge-octopus/.gitted/refs/heads/branch1-b new file mode 100644 index 00000000000..0a608530f25 --- /dev/null +++ b/tests/resources/merge-octopus/.gitted/refs/heads/branch1-b @@ -0,0 +1 @@ +d5b8b3e29080838047c80e139d46d381c8200253 diff --git a/tests/resources/merge-octopus/.gitted/refs/heads/branch2 b/tests/resources/merge-octopus/.gitted/refs/heads/branch2 new file mode 100644 index 00000000000..c0ceef24341 --- /dev/null +++ b/tests/resources/merge-octopus/.gitted/refs/heads/branch2 @@ -0,0 +1 @@ +b904bbfb2674a1df716feaf9cc30c51ca4e2f351 diff --git a/tests/resources/merge-octopus/.gitted/refs/heads/branch3 b/tests/resources/merge-octopus/.gitted/refs/heads/branch3 new file mode 100644 index 00000000000..1341a34b2ac --- /dev/null +++ b/tests/resources/merge-octopus/.gitted/refs/heads/branch3 @@ -0,0 +1 @@ +07f14b3a5eeb7d6db41f03bf7f29d5a404d9de16 diff --git a/tests/resources/merge-octopus/.gitted/refs/heads/master b/tests/resources/merge-octopus/.gitted/refs/heads/master new file mode 100644 index 00000000000..389a0266669 --- /dev/null +++ b/tests/resources/merge-octopus/.gitted/refs/heads/master @@ -0,0 +1 @@ +b9fe1c1159fbfa8235ea0e5487174ab7703fa3d7 diff --git a/tests/resources/merge-octopus/.gitted/refs/heads/target b/tests/resources/merge-octopus/.gitted/refs/heads/target new file mode 100644 index 00000000000..b28c1998f3b --- /dev/null +++ b/tests/resources/merge-octopus/.gitted/refs/heads/target @@ -0,0 +1 @@ +7be9036b857dbbf44543a3a87276fac3cfc94427 diff --git a/tests/resources/merge-octopus/added-in-master.txt b/tests/resources/merge-octopus/added-in-master.txt new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/resources/merge-octopus/added-in-target.txt b/tests/resources/merge-octopus/added-in-target.txt new file mode 100644 index 00000000000..9fa7335e756 --- /dev/null +++ b/tests/resources/merge-octopus/added-in-target.txt @@ -0,0 +1 @@ +Added in target