diff options
| author | Edward Thomson <ethomson@edwardthomson.com> | 2021-12-23 14:21:23 -0600 |
|---|---|---|
| committer | Edward Thomson <ethomson@edwardthomson.com> | 2021-12-23 14:21:49 -0600 |
| commit | 942cfac129b2cffc2668a7d1d7b7b613e4eef19f (patch) | |
| tree | b8d4e87ad7c8dadf16be6cd8b9be08bfa176fb5f /src/worktree.c | |
| parent | f9a98f9442c0b1c22f8212753fda85603fa948e8 (diff) | |
| download | libgit2-942cfac129b2cffc2668a7d1d7b7b613e4eef19f.tar.gz | |
worktree: checkout options suggestions from code review
Diffstat (limited to 'src/worktree.c')
| -rw-r--r-- | src/worktree.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/worktree.c b/src/worktree.c index 6bf604227..2ac2274f1 100644 --- a/src/worktree.c +++ b/src/worktree.c @@ -304,16 +304,13 @@ int git_worktree_add(git_worktree **out, git_repository *repo, git_reference *ref = NULL, *head = NULL; git_commit *commit = NULL; git_repository *wt = NULL; - git_checkout_options coopts = GIT_CHECKOUT_OPTIONS_INIT; + git_checkout_options coopts; git_worktree_add_options wtopts = GIT_WORKTREE_ADD_OPTIONS_INIT; int err; GIT_ERROR_CHECK_VERSION( opts, GIT_WORKTREE_ADD_OPTIONS_VERSION, "git_worktree_add_options"); - if (opts) - memcpy(&wtopts, opts, sizeof(wtopts)); - GIT_ASSERT_ARG(out); GIT_ASSERT_ARG(repo); GIT_ASSERT_ARG(name); @@ -321,6 +318,11 @@ int git_worktree_add(git_worktree **out, git_repository *repo, *out = NULL; + if (opts) + memcpy(&wtopts, opts, sizeof(wtopts)); + + memcpy(&coopts, &wtopts.checkout_options, sizeof(coopts)); + if (wtopts.ref) { if (!git_reference_is_branch(wtopts.ref)) { git_error_set(GIT_ERROR_WORKTREE, "reference is not a branch"); @@ -405,8 +407,6 @@ int git_worktree_add(git_worktree **out, git_repository *repo, goto out; /* Checkout worktree's HEAD */ - if (opts != NULL) - memcpy(&coopts, &wtopts.checkout_opts, sizeof(coopts)); if ((err = git_checkout_head(wt, &coopts)) < 0) goto out; |
