]> git.ipfire.org Git - thirdparty/git.git/blobdiff - builtin/checkout.c
Merge branch 'dl/checkout-p-merge-base'
[thirdparty/git.git] / builtin / checkout.c
index 9b82119129a2223a69bf6a638ff1bf923b82634d..c9ba23c27945b85059fbc4987c7927a720f7e74d 100644 (file)
@@ -480,9 +480,11 @@ static int checkout_paths(const struct checkout_opts *opts,
                 * with the hex of the commit (whether it's in `...` form or
                 * not) for the run_add_interactive() machinery to work
                 * properly. However, there is special logic for the HEAD case
-                * so we mustn't replace that.
+                * so we mustn't replace that.  Also, when we were given a
+                * tree-object, new_branch_info->commit would be NULL, but we
+                * do not have to do any replacement, either.
                 */
-               if (rev && strcmp(rev, "HEAD"))
+               if (rev && new_branch_info->commit && strcmp(rev, "HEAD"))
                        rev = oid_to_hex_r(rev_oid, &new_branch_info->commit->object.oid);
 
                if (opts->checkout_index && opts->checkout_worktree)