Commit 5ae38538 by Edward Thomson

rebase: take `checkout_options` where appropriate

parent 649834fd
...@@ -143,6 +143,8 @@ GIT_EXTERN(int) git_rebase_init_options( ...@@ -143,6 +143,8 @@ GIT_EXTERN(int) git_rebase_init_options(
* @param onto The branch to rebase onto, or NULL to rebase onto the given * @param onto The branch to rebase onto, or NULL to rebase onto the given
* upstream * upstream
* @param opts Options to specify how rebase is performed * @param opts Options to specify how rebase is performed
* @param checkout_opts Options to specify how the checkout to the `onto`
* branch is performed
* @return Zero on success; -1 on failure. * @return Zero on success; -1 on failure.
*/ */
GIT_EXTERN(int) git_rebase_init( GIT_EXTERN(int) git_rebase_init(
...@@ -151,7 +153,8 @@ GIT_EXTERN(int) git_rebase_init( ...@@ -151,7 +153,8 @@ GIT_EXTERN(int) git_rebase_init(
const git_annotated_commit *branch, const git_annotated_commit *branch,
const git_annotated_commit *upstream, const git_annotated_commit *upstream,
const git_annotated_commit *onto, const git_annotated_commit *onto,
const git_rebase_options *opts); const git_rebase_options *opts,
const git_checkout_options *checkout_opts);
/** /**
* Opens an existing rebase that was previously started by either an * Opens an existing rebase that was previously started by either an
...@@ -245,10 +248,14 @@ GIT_EXTERN(int) git_rebase_commit( ...@@ -245,10 +248,14 @@ GIT_EXTERN(int) git_rebase_commit(
* and working directory to their state before rebase began. * and working directory to their state before rebase began.
* *
* @param rebase The rebase that is in-progress * @param rebase The rebase that is in-progress
* @param checkout_opts The checkout options that will be used to influence a
* hard reset of the working directory.
* @return Zero on success; GIT_ENOTFOUND if a rebase is not in progress, * @return Zero on success; GIT_ENOTFOUND if a rebase is not in progress,
* -1 on other errors. * -1 on other errors.
*/ */
GIT_EXTERN(int) git_rebase_abort(git_rebase *rebase); GIT_EXTERN(int) git_rebase_abort(
git_rebase *rebase,
const git_checkout_options *checkout_opts);
/** /**
* Finishes a rebase that is currently in progress once all patches have * Finishes a rebase that is currently in progress once all patches have
......
...@@ -658,19 +658,37 @@ done: ...@@ -658,19 +658,37 @@ done:
return error; return error;
} }
static void normalize_checkout_opts(
git_checkout_options *checkout_opts,
const git_checkout_options *given_checkout_opts)
{
if (given_checkout_opts != NULL)
memcpy(checkout_opts, given_checkout_opts, sizeof(git_checkout_options));
else {
git_checkout_options default_checkout_opts = GIT_CHECKOUT_OPTIONS_INIT;
default_checkout_opts.checkout_strategy = GIT_CHECKOUT_SAFE;
memcpy(checkout_opts, &default_checkout_opts, sizeof(git_checkout_options));
}
if (! (checkout_opts->checkout_strategy & (GIT_CHECKOUT_SAFE | GIT_CHECKOUT_FORCE)))
checkout_opts->checkout_strategy |= GIT_CHECKOUT_SAFE;
}
int git_rebase_init( int git_rebase_init(
git_rebase **out, git_rebase **out,
git_repository *repo, git_repository *repo,
const git_annotated_commit *branch, const git_annotated_commit *branch,
const git_annotated_commit *upstream, const git_annotated_commit *upstream,
const git_annotated_commit *onto, const git_annotated_commit *onto,
const git_rebase_options *given_opts) const git_rebase_options *given_opts,
const git_checkout_options *given_checkout_opts)
{ {
git_rebase *rebase = NULL; git_rebase *rebase = NULL;
git_rebase_options opts; git_rebase_options opts;
git_buf reflog = GIT_BUF_INIT; git_buf reflog = GIT_BUF_INIT;
git_commit *onto_commit = NULL; git_commit *onto_commit = NULL;
git_checkout_options checkout_opts = GIT_CHECKOUT_OPTIONS_INIT; git_checkout_options checkout_opts;
git_reference *head_ref = NULL; git_reference *head_ref = NULL;
int error; int error;
...@@ -679,11 +697,12 @@ int git_rebase_init( ...@@ -679,11 +697,12 @@ int git_rebase_init(
*out = NULL; *out = NULL;
GITERR_CHECK_VERSION(given_opts, GIT_REBASE_OPTIONS_VERSION, "git_rebase_options"); GITERR_CHECK_VERSION(given_opts, GIT_REBASE_OPTIONS_VERSION, "git_rebase_options");
GITERR_CHECK_VERSION(given_checkout_opts, GIT_CHECKOUT_OPTIONS_VERSION, "git_checkout_options");
if (!onto) if (!onto)
onto = upstream; onto = upstream;
checkout_opts.checkout_strategy = GIT_CHECKOUT_SAFE; normalize_checkout_opts(&checkout_opts, given_checkout_opts);
if ((error = rebase_normalize_opts(repo, &opts, given_opts)) < 0 || if ((error = rebase_normalize_opts(repo, &opts, given_opts)) < 0 ||
(error = git_repository__ensure_not_bare(repo, "rebase")) < 0 || (error = git_repository__ensure_not_bare(repo, "rebase")) < 0 ||
...@@ -723,20 +742,13 @@ done: ...@@ -723,20 +742,13 @@ done:
return error; return error;
} }
static void normalize_checkout_opts( static void normalize_checkout_opts_for_apply(
git_rebase *rebase, git_rebase *rebase,
git_commit *current_commit, git_commit *current_commit,
git_checkout_options *checkout_opts, git_checkout_options *checkout_opts,
const git_checkout_options *given_checkout_opts) const git_checkout_options *given_checkout_opts)
{ {
if (given_checkout_opts != NULL) normalize_checkout_opts(checkout_opts, given_checkout_opts);
memcpy(checkout_opts, given_checkout_opts, sizeof(git_checkout_options));
else {
git_checkout_options default_checkout_opts = GIT_CHECKOUT_OPTIONS_INIT;
default_checkout_opts.checkout_strategy = GIT_CHECKOUT_SAFE;
memcpy(checkout_opts, &default_checkout_opts, sizeof(git_checkout_options));
}
if (!checkout_opts->ancestor_label) if (!checkout_opts->ancestor_label)
checkout_opts->ancestor_label = "ancestor"; checkout_opts->ancestor_label = "ancestor";
...@@ -805,7 +817,7 @@ static int rebase_next_merge( ...@@ -805,7 +817,7 @@ static int rebase_next_merge(
git_oid_fmt(current_idstr, &operation->id); git_oid_fmt(current_idstr, &operation->id);
normalize_checkout_opts(rebase, current_commit, &checkout_opts, given_checkout_opts); normalize_checkout_opts_for_apply(rebase, current_commit, &checkout_opts, given_checkout_opts);
if ((error = git_indexwriter_init_for_operation(&indexwriter, rebase->repo, &checkout_opts.checkout_strategy)) < 0 || if ((error = git_indexwriter_init_for_operation(&indexwriter, rebase->repo, &checkout_opts.checkout_strategy)) < 0 ||
(error = rebase_setupfile(rebase, MSGNUM_FILE, -1, "%d\n", rebase->current+1)) < 0 || (error = rebase_setupfile(rebase, MSGNUM_FILE, -1, "%d\n", rebase->current+1)) < 0 ||
...@@ -960,7 +972,9 @@ int git_rebase_commit( ...@@ -960,7 +972,9 @@ int git_rebase_commit(
return error; return error;
} }
int git_rebase_abort(git_rebase *rebase) int git_rebase_abort(
git_rebase *rebase,
const git_checkout_options *checkout_opts)
{ {
git_reference *orig_head_ref = NULL; git_reference *orig_head_ref = NULL;
git_commit *orig_head_commit = NULL; git_commit *orig_head_commit = NULL;
...@@ -981,7 +995,7 @@ int git_rebase_abort(git_rebase *rebase) ...@@ -981,7 +995,7 @@ int git_rebase_abort(git_rebase *rebase)
if ((error = git_commit_lookup( if ((error = git_commit_lookup(
&orig_head_commit, rebase->repo, &rebase->orig_head_id)) < 0 || &orig_head_commit, rebase->repo, &rebase->orig_head_id)) < 0 ||
(error = git_reset(rebase->repo, (git_object *)orig_head_commit, (error = git_reset(rebase->repo, (git_object *)orig_head_commit,
GIT_RESET_HARD, NULL)) < 0) GIT_RESET_HARD, checkout_opts)) < 0)
goto done; goto done;
error = rebase_cleanup(rebase); error = rebase_cleanup(rebase);
......
...@@ -28,7 +28,7 @@ static void test_abort(git_annotated_commit *branch, git_annotated_commit *onto) ...@@ -28,7 +28,7 @@ static void test_abort(git_annotated_commit *branch, git_annotated_commit *onto)
const git_reflog_entry *reflog_entry; const git_reflog_entry *reflog_entry;
cl_git_pass(git_rebase_open(&rebase, repo)); cl_git_pass(git_rebase_open(&rebase, repo));
cl_git_pass(git_rebase_abort(rebase)); cl_git_pass(git_rebase_abort(rebase, NULL));
cl_assert_equal_i(GIT_REPOSITORY_STATE_NONE, git_repository_state(repo)); cl_assert_equal_i(GIT_REPOSITORY_STATE_NONE, git_repository_state(repo));
...@@ -73,7 +73,7 @@ void test_rebase_abort__merge(void) ...@@ -73,7 +73,7 @@ void test_rebase_abort__merge(void)
cl_git_pass(git_annotated_commit_from_ref(&branch_head, repo, branch_ref)); cl_git_pass(git_annotated_commit_from_ref(&branch_head, repo, branch_ref));
cl_git_pass(git_annotated_commit_from_ref(&onto_head, repo, onto_ref)); cl_git_pass(git_annotated_commit_from_ref(&onto_head, repo, onto_ref));
cl_git_pass(git_rebase_init(&rebase, repo, branch_head, NULL, onto_head, NULL)); cl_git_pass(git_rebase_init(&rebase, repo, branch_head, NULL, onto_head, NULL, NULL));
cl_assert_equal_i(GIT_REPOSITORY_STATE_REBASE_MERGE, git_repository_state(repo)); cl_assert_equal_i(GIT_REPOSITORY_STATE_REBASE_MERGE, git_repository_state(repo));
test_abort(branch_head, onto_head); test_abort(branch_head, onto_head);
...@@ -102,7 +102,7 @@ void test_rebase_abort__detached_head(void) ...@@ -102,7 +102,7 @@ void test_rebase_abort__detached_head(void)
cl_git_pass(git_signature_new(&signature, "Rebaser", "rebaser@example.com", 1404157834, -400)); cl_git_pass(git_signature_new(&signature, "Rebaser", "rebaser@example.com", 1404157834, -400));
cl_git_pass(git_rebase_init(&rebase, repo, branch_head, NULL, onto_head, NULL)); cl_git_pass(git_rebase_init(&rebase, repo, branch_head, NULL, onto_head, NULL, NULL));
cl_assert_equal_i(GIT_REPOSITORY_STATE_REBASE_MERGE, git_repository_state(repo)); cl_assert_equal_i(GIT_REPOSITORY_STATE_REBASE_MERGE, git_repository_state(repo));
test_abort(branch_head, onto_head); test_abort(branch_head, onto_head);
...@@ -131,7 +131,7 @@ void test_rebase_abort__old_style_head_file(void) ...@@ -131,7 +131,7 @@ void test_rebase_abort__old_style_head_file(void)
cl_git_pass(git_signature_new(&signature, "Rebaser", "rebaser@example.com", 1404157834, -400)); cl_git_pass(git_signature_new(&signature, "Rebaser", "rebaser@example.com", 1404157834, -400));
cl_git_pass(git_rebase_init(&rebase, repo, branch_head, NULL, onto_head, NULL)); cl_git_pass(git_rebase_init(&rebase, repo, branch_head, NULL, onto_head, NULL, NULL));
cl_assert_equal_i(GIT_REPOSITORY_STATE_REBASE_MERGE, git_repository_state(repo)); cl_assert_equal_i(GIT_REPOSITORY_STATE_REBASE_MERGE, git_repository_state(repo));
p_rename("rebase-merge/.git/rebase-merge/orig-head", p_rename("rebase-merge/.git/rebase-merge/orig-head",
......
...@@ -64,7 +64,7 @@ void test_rebase_iterator__iterates(void) ...@@ -64,7 +64,7 @@ void test_rebase_iterator__iterates(void)
cl_git_pass(git_annotated_commit_from_ref(&branch_head, repo, branch_ref)); cl_git_pass(git_annotated_commit_from_ref(&branch_head, repo, branch_ref));
cl_git_pass(git_annotated_commit_from_ref(&upstream_head, repo, upstream_ref)); cl_git_pass(git_annotated_commit_from_ref(&upstream_head, repo, upstream_ref));
cl_git_pass(git_rebase_init(&rebase, repo, branch_head, upstream_head, NULL, NULL)); cl_git_pass(git_rebase_init(&rebase, repo, branch_head, upstream_head, NULL, NULL, NULL));
test_operations(rebase, GIT_REBASE_NO_OPERATION); test_operations(rebase, GIT_REBASE_NO_OPERATION);
git_rebase_free(rebase); git_rebase_free(rebase);
......
...@@ -53,7 +53,7 @@ void test_rebase_merge__next(void) ...@@ -53,7 +53,7 @@ void test_rebase_merge__next(void)
cl_git_pass(git_annotated_commit_from_ref(&branch_head, repo, branch_ref)); cl_git_pass(git_annotated_commit_from_ref(&branch_head, repo, branch_ref));
cl_git_pass(git_annotated_commit_from_ref(&upstream_head, repo, upstream_ref)); cl_git_pass(git_annotated_commit_from_ref(&upstream_head, repo, upstream_ref));
cl_git_pass(git_rebase_init(&rebase, repo, branch_head, upstream_head, NULL, NULL)); cl_git_pass(git_rebase_init(&rebase, repo, branch_head, upstream_head, NULL, NULL, NULL));
cl_git_pass(git_rebase_next(&rebase_operation, rebase, &checkout_opts)); cl_git_pass(git_rebase_next(&rebase_operation, rebase, &checkout_opts));
...@@ -120,7 +120,7 @@ void test_rebase_merge__next_with_conflicts(void) ...@@ -120,7 +120,7 @@ void test_rebase_merge__next_with_conflicts(void)
cl_git_pass(git_annotated_commit_from_ref(&branch_head, repo, branch_ref)); cl_git_pass(git_annotated_commit_from_ref(&branch_head, repo, branch_ref));
cl_git_pass(git_annotated_commit_from_ref(&upstream_head, repo, upstream_ref)); cl_git_pass(git_annotated_commit_from_ref(&upstream_head, repo, upstream_ref));
cl_git_pass(git_rebase_init(&rebase, repo, branch_head, upstream_head, NULL, NULL)); cl_git_pass(git_rebase_init(&rebase, repo, branch_head, upstream_head, NULL, NULL, NULL));
cl_git_pass(git_rebase_next(&rebase_operation, rebase, &checkout_opts)); cl_git_pass(git_rebase_next(&rebase_operation, rebase, &checkout_opts));
...@@ -167,7 +167,7 @@ void test_rebase_merge__next_stops_with_iterover(void) ...@@ -167,7 +167,7 @@ void test_rebase_merge__next_stops_with_iterover(void)
cl_git_pass(git_annotated_commit_from_ref(&branch_head, repo, branch_ref)); cl_git_pass(git_annotated_commit_from_ref(&branch_head, repo, branch_ref));
cl_git_pass(git_annotated_commit_from_ref(&upstream_head, repo, upstream_ref)); cl_git_pass(git_annotated_commit_from_ref(&upstream_head, repo, upstream_ref));
cl_git_pass(git_rebase_init(&rebase, repo, branch_head, upstream_head, NULL, NULL)); cl_git_pass(git_rebase_init(&rebase, repo, branch_head, upstream_head, NULL, NULL, NULL));
cl_git_pass(git_rebase_next(&rebase_operation, rebase, &checkout_opts)); cl_git_pass(git_rebase_next(&rebase_operation, rebase, &checkout_opts));
cl_git_pass(git_rebase_commit(&commit_id, rebase, NULL, signature, cl_git_pass(git_rebase_commit(&commit_id, rebase, NULL, signature,
...@@ -223,7 +223,7 @@ void test_rebase_merge__commit(void) ...@@ -223,7 +223,7 @@ void test_rebase_merge__commit(void)
cl_git_pass(git_annotated_commit_from_ref(&branch_head, repo, branch_ref)); cl_git_pass(git_annotated_commit_from_ref(&branch_head, repo, branch_ref));
cl_git_pass(git_annotated_commit_from_ref(&upstream_head, repo, upstream_ref)); cl_git_pass(git_annotated_commit_from_ref(&upstream_head, repo, upstream_ref));
cl_git_pass(git_rebase_init(&rebase, repo, branch_head, upstream_head, NULL, NULL)); cl_git_pass(git_rebase_init(&rebase, repo, branch_head, upstream_head, NULL, NULL, NULL));
cl_git_pass(git_rebase_next(&rebase_operation, rebase, &checkout_opts)); cl_git_pass(git_rebase_next(&rebase_operation, rebase, &checkout_opts));
cl_git_pass(git_rebase_commit(&commit_id, rebase, NULL, signature, cl_git_pass(git_rebase_commit(&commit_id, rebase, NULL, signature,
...@@ -316,7 +316,7 @@ void test_rebase_merge__commit_updates_rewritten(void) ...@@ -316,7 +316,7 @@ void test_rebase_merge__commit_updates_rewritten(void)
cl_git_pass(git_annotated_commit_from_ref(&branch_head, repo, branch_ref)); cl_git_pass(git_annotated_commit_from_ref(&branch_head, repo, branch_ref));
cl_git_pass(git_annotated_commit_from_ref(&upstream_head, repo, upstream_ref)); cl_git_pass(git_annotated_commit_from_ref(&upstream_head, repo, upstream_ref));
cl_git_pass(git_rebase_init(&rebase, repo, branch_head, upstream_head, NULL, NULL)); cl_git_pass(git_rebase_init(&rebase, repo, branch_head, upstream_head, NULL, NULL, NULL));
cl_git_pass(git_rebase_next(&rebase_operation, rebase, &checkout_opts)); cl_git_pass(git_rebase_next(&rebase_operation, rebase, &checkout_opts));
cl_git_pass(git_rebase_commit(&commit_id, rebase, NULL, signature, cl_git_pass(git_rebase_commit(&commit_id, rebase, NULL, signature,
...@@ -356,7 +356,7 @@ void test_rebase_merge__commit_drops_already_applied(void) ...@@ -356,7 +356,7 @@ void test_rebase_merge__commit_drops_already_applied(void)
cl_git_pass(git_annotated_commit_from_ref(&branch_head, repo, branch_ref)); cl_git_pass(git_annotated_commit_from_ref(&branch_head, repo, branch_ref));
cl_git_pass(git_annotated_commit_from_ref(&upstream_head, repo, upstream_ref)); cl_git_pass(git_annotated_commit_from_ref(&upstream_head, repo, upstream_ref));
cl_git_pass(git_rebase_init(&rebase, repo, branch_head, upstream_head, NULL, NULL)); cl_git_pass(git_rebase_init(&rebase, repo, branch_head, upstream_head, NULL, NULL, NULL));
cl_git_pass(git_rebase_next(&rebase_operation, rebase, &checkout_opts)); cl_git_pass(git_rebase_next(&rebase_operation, rebase, &checkout_opts));
cl_git_fail(error = git_rebase_commit(&commit_id, rebase, NULL, signature, cl_git_fail(error = git_rebase_commit(&commit_id, rebase, NULL, signature,
...@@ -399,7 +399,7 @@ void test_rebase_merge__finish(void) ...@@ -399,7 +399,7 @@ void test_rebase_merge__finish(void)
cl_git_pass(git_annotated_commit_from_ref(&branch_head, repo, branch_ref)); cl_git_pass(git_annotated_commit_from_ref(&branch_head, repo, branch_ref));
cl_git_pass(git_annotated_commit_from_ref(&upstream_head, repo, upstream_ref)); cl_git_pass(git_annotated_commit_from_ref(&upstream_head, repo, upstream_ref));
cl_git_pass(git_rebase_init(&rebase, repo, branch_head, upstream_head, NULL, NULL)); cl_git_pass(git_rebase_init(&rebase, repo, branch_head, upstream_head, NULL, NULL, NULL));
cl_git_pass(git_rebase_next(&rebase_operation, rebase, &checkout_opts)); cl_git_pass(git_rebase_next(&rebase_operation, rebase, &checkout_opts));
cl_git_pass(git_rebase_commit(&commit_id, rebase, NULL, signature, cl_git_pass(git_rebase_commit(&commit_id, rebase, NULL, signature,
...@@ -470,7 +470,7 @@ static void test_copy_note( ...@@ -470,7 +470,7 @@ static void test_copy_note(
git_commit_id(branch_commit), git_commit_id(branch_commit),
"This is a commit note.", 0)); "This is a commit note.", 0));
cl_git_pass(git_rebase_init(&rebase, repo, branch_head, upstream_head, NULL, opts)); cl_git_pass(git_rebase_init(&rebase, repo, branch_head, upstream_head, NULL, opts, NULL));
cl_git_pass(git_rebase_next(&rebase_operation, rebase, &checkout_opts)); cl_git_pass(git_rebase_next(&rebase_operation, rebase, &checkout_opts));
cl_git_pass(git_rebase_commit(&commit_id, rebase, NULL, signature, cl_git_pass(git_rebase_commit(&commit_id, rebase, NULL, signature,
......
...@@ -39,12 +39,12 @@ void test_rebase_setup__blocked_when_in_progress(void) ...@@ -39,12 +39,12 @@ void test_rebase_setup__blocked_when_in_progress(void)
cl_git_pass(git_annotated_commit_from_ref(&branch_head, repo, branch_ref)); cl_git_pass(git_annotated_commit_from_ref(&branch_head, repo, branch_ref));
cl_git_pass(git_annotated_commit_from_ref(&upstream_head, repo, upstream_ref)); cl_git_pass(git_annotated_commit_from_ref(&upstream_head, repo, upstream_ref));
cl_git_pass(git_rebase_init(&rebase, repo, branch_head, upstream_head, NULL, NULL)); cl_git_pass(git_rebase_init(&rebase, repo, branch_head, upstream_head, NULL, NULL, NULL));
git_rebase_free(rebase); git_rebase_free(rebase);
cl_assert_equal_i(GIT_REPOSITORY_STATE_REBASE_MERGE, git_repository_state(repo)); cl_assert_equal_i(GIT_REPOSITORY_STATE_REBASE_MERGE, git_repository_state(repo));
cl_git_fail(git_rebase_init(&rebase, repo, branch_head, upstream_head, NULL, NULL)); cl_git_fail(git_rebase_init(&rebase, repo, branch_head, upstream_head, NULL, NULL, NULL));
git_annotated_commit_free(branch_head); git_annotated_commit_free(branch_head);
git_annotated_commit_free(upstream_head); git_annotated_commit_free(upstream_head);
...@@ -70,7 +70,7 @@ void test_rebase_setup__merge(void) ...@@ -70,7 +70,7 @@ void test_rebase_setup__merge(void)
cl_git_pass(git_annotated_commit_from_ref(&branch_head, repo, branch_ref)); cl_git_pass(git_annotated_commit_from_ref(&branch_head, repo, branch_ref));
cl_git_pass(git_annotated_commit_from_ref(&upstream_head, repo, upstream_ref)); cl_git_pass(git_annotated_commit_from_ref(&upstream_head, repo, upstream_ref));
cl_git_pass(git_rebase_init(&rebase, repo, branch_head, upstream_head, NULL, NULL)); cl_git_pass(git_rebase_init(&rebase, repo, branch_head, upstream_head, NULL, NULL, NULL));
cl_assert_equal_i(GIT_REPOSITORY_STATE_REBASE_MERGE, git_repository_state(repo)); cl_assert_equal_i(GIT_REPOSITORY_STATE_REBASE_MERGE, git_repository_state(repo));
...@@ -118,7 +118,7 @@ void test_rebase_setup__merge_root(void) ...@@ -118,7 +118,7 @@ void test_rebase_setup__merge_root(void)
cl_git_pass(git_annotated_commit_from_ref(&branch_head, repo, branch_ref)); cl_git_pass(git_annotated_commit_from_ref(&branch_head, repo, branch_ref));
cl_git_pass(git_annotated_commit_from_ref(&onto_head, repo, onto_ref)); cl_git_pass(git_annotated_commit_from_ref(&onto_head, repo, onto_ref));
cl_git_pass(git_rebase_init(&rebase, repo, branch_head, NULL, onto_head, NULL)); cl_git_pass(git_rebase_init(&rebase, repo, branch_head, NULL, onto_head, NULL, NULL));
git_oid_fromstr(&head_id, "efad0b11c47cb2f0220cbd6f5b0f93bb99064b00"); git_oid_fromstr(&head_id, "efad0b11c47cb2f0220cbd6f5b0f93bb99064b00");
cl_git_pass(git_repository_head(&head, repo)); cl_git_pass(git_repository_head(&head, repo));
...@@ -168,7 +168,7 @@ void test_rebase_setup__merge_onto_and_upstream(void) ...@@ -168,7 +168,7 @@ void test_rebase_setup__merge_onto_and_upstream(void)
cl_git_pass(git_annotated_commit_from_ref(&branch2_head, repo, branch2_ref)); cl_git_pass(git_annotated_commit_from_ref(&branch2_head, repo, branch2_ref));
cl_git_pass(git_annotated_commit_from_ref(&onto_head, repo, onto_ref)); cl_git_pass(git_annotated_commit_from_ref(&onto_head, repo, onto_ref));
cl_git_pass(git_rebase_init(&rebase, repo, branch1_head, branch2_head, onto_head, NULL)); cl_git_pass(git_rebase_init(&rebase, repo, branch1_head, branch2_head, onto_head, NULL, NULL));
git_oid_fromstr(&head_id, "efad0b11c47cb2f0220cbd6f5b0f93bb99064b00"); git_oid_fromstr(&head_id, "efad0b11c47cb2f0220cbd6f5b0f93bb99064b00");
cl_git_pass(git_repository_head(&head, repo)); cl_git_pass(git_repository_head(&head, repo));
...@@ -215,7 +215,7 @@ void test_rebase_setup__branch_with_merges(void) ...@@ -215,7 +215,7 @@ void test_rebase_setup__branch_with_merges(void)
cl_git_pass(git_annotated_commit_from_ref(&branch_head, repo, branch_ref)); cl_git_pass(git_annotated_commit_from_ref(&branch_head, repo, branch_ref));
cl_git_pass(git_annotated_commit_from_ref(&upstream_head, repo, upstream_ref)); cl_git_pass(git_annotated_commit_from_ref(&upstream_head, repo, upstream_ref));
cl_git_pass(git_rebase_init(&rebase, repo, branch_head, upstream_head, NULL, NULL)); cl_git_pass(git_rebase_init(&rebase, repo, branch_head, upstream_head, NULL, NULL, NULL));
cl_assert_equal_i(GIT_REPOSITORY_STATE_REBASE_MERGE, git_repository_state(repo)); cl_assert_equal_i(GIT_REPOSITORY_STATE_REBASE_MERGE, git_repository_state(repo));
...@@ -263,7 +263,7 @@ void test_rebase_setup__orphan_branch(void) ...@@ -263,7 +263,7 @@ void test_rebase_setup__orphan_branch(void)
cl_git_pass(git_annotated_commit_from_ref(&branch_head, repo, branch_ref)); cl_git_pass(git_annotated_commit_from_ref(&branch_head, repo, branch_ref));
cl_git_pass(git_annotated_commit_from_ref(&upstream_head, repo, upstream_ref)); cl_git_pass(git_annotated_commit_from_ref(&upstream_head, repo, upstream_ref));
cl_git_pass(git_rebase_init(&rebase, repo, branch_head, upstream_head, NULL, NULL)); cl_git_pass(git_rebase_init(&rebase, repo, branch_head, upstream_head, NULL, NULL, NULL));
cl_assert_equal_i(GIT_REPOSITORY_STATE_REBASE_MERGE, git_repository_state(repo)); cl_assert_equal_i(GIT_REPOSITORY_STATE_REBASE_MERGE, git_repository_state(repo));
...@@ -314,7 +314,7 @@ void test_rebase_setup__merge_null_branch_uses_HEAD(void) ...@@ -314,7 +314,7 @@ void test_rebase_setup__merge_null_branch_uses_HEAD(void)
cl_git_pass(git_reference_lookup(&upstream_ref, repo, "refs/heads/master")); cl_git_pass(git_reference_lookup(&upstream_ref, repo, "refs/heads/master"));
cl_git_pass(git_annotated_commit_from_ref(&upstream_head, repo, upstream_ref)); cl_git_pass(git_annotated_commit_from_ref(&upstream_head, repo, upstream_ref));
cl_git_pass(git_rebase_init(&rebase, repo, NULL, upstream_head, NULL, NULL)); cl_git_pass(git_rebase_init(&rebase, repo, NULL, upstream_head, NULL, NULL, NULL));
cl_assert_equal_i(GIT_REPOSITORY_STATE_REBASE_MERGE, git_repository_state(repo)); cl_assert_equal_i(GIT_REPOSITORY_STATE_REBASE_MERGE, git_repository_state(repo));
...@@ -358,7 +358,7 @@ static int rebase_is_blocked(void) ...@@ -358,7 +358,7 @@ static int rebase_is_blocked(void)
cl_git_pass(git_annotated_commit_from_ref(&branch_head, repo, branch_ref)); cl_git_pass(git_annotated_commit_from_ref(&branch_head, repo, branch_ref));
cl_git_pass(git_annotated_commit_from_ref(&upstream_head, repo, upstream_ref)); cl_git_pass(git_annotated_commit_from_ref(&upstream_head, repo, upstream_ref));
error = git_rebase_init(&rebase, repo, branch_head, upstream_head, NULL, NULL); error = git_rebase_init(&rebase, repo, branch_head, upstream_head, NULL, NULL, NULL);
git_annotated_commit_free(branch_head); git_annotated_commit_free(branch_head);
git_annotated_commit_free(upstream_head); git_annotated_commit_free(upstream_head);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment