X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=builtin%2Ffast-export.c;h=c8fd46b872780b27b09ad70316fa164d855f3220;hb=47f16e8b110d84bacb586a1b7183ee4bb781c980;hp=a9bbf8653d1a8fa704a38c06102ec3ace4a59a28;hpb=f92d62ec4ead67109418483b65aaf158b7462121;p=git.git diff --git a/builtin/fast-export.c b/builtin/fast-export.c index a9bbf8653..c8fd46b87 100644 --- a/builtin/fast-export.c +++ b/builtin/fast-export.c @@ -167,7 +167,15 @@ static int depth_first(const void *a_, const void *b_) cmp = memcmp(name_a, name_b, len); if (cmp) return cmp; - return (len_b - len_a); + cmp = len_b - len_a; + if (cmp) + return cmp; + /* + * Move 'R'ename entries last so that all references of the file + * appear in the output before it is renamed (e.g., when a file + * was copied and renamed in the same commit). + */ + return (a->status == 'R') - (b->status == 'R'); } static void show_filemodify(struct diff_queue_struct *q,