sample update-hook: sanely handle a new branch head.
[gitweb.git] / diffcore-rename.c
index e17dd90058443ea75321f8c48818bd0094bd76a3..39d9126cb9d397df06d41495a3402123fa4ba46b 100644 (file)
@@ -282,8 +282,8 @@ void diffcore_rename(struct diff_options *options)
                else if (detect_rename == DIFF_DETECT_COPY)
                        register_rename_src(p->one, 1);
        }
-       if (rename_dst_nr == 0 ||
-           (0 <= rename_limit && rename_limit < rename_dst_nr))
+       if (rename_dst_nr == 0 || rename_src_nr == 0 ||
+           (0 < rename_limit && rename_limit < rename_dst_nr))
                goto cleanup; /* nothing to do */
 
        /* We really want to cull the candidates list early
@@ -307,6 +307,9 @@ void diffcore_rename(struct diff_options *options)
        if (rename_count == rename_dst_nr)
                goto cleanup;
 
+       if (minimum_score == MAX_SCORE)
+               goto cleanup;
+
        num_create = (rename_dst_nr - rename_count);
        num_src = rename_src_nr;
        mx = xmalloc(sizeof(*mx) * num_create * num_src);