Merge branch 'bc/object-id'
[gitweb.git] / builtin / checkout.c
index 13365fb621f548e5c3320d33b43ba1a64817bc16..65877bacb1ed65139bacfb479ced4e322a972eb5 100644 (file)
@@ -833,7 +833,8 @@ static int switch_branches(const struct checkout_opts *opts,
        int flag, writeout_error = 0;
        memset(&old, 0, sizeof(old));
        old.path = path_to_free = resolve_refdup("HEAD", 0, rev.hash, &flag);
-       old.commit = lookup_commit_reference_gently(&rev, 1);
+       if (old.path)
+               old.commit = lookup_commit_reference_gently(&rev, 1);
        if (!(flag & REF_ISSYMREF))
                old.path = NULL;