X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=revision.c;h=48756b5d4466d06123922573e4330fc4344c1dcb;hb=c05ef93879696638406cad5be54be577a2666d04;hp=c193c3ea229be39472cc1f569632b0adc1a7e5d9;hpb=4e837a98b65fbe0c83376cae5167605b771421d8;p=git.git diff --git a/revision.c b/revision.c index c193c3ea2..48756b5d4 100644 --- a/revision.c +++ b/revision.c @@ -1024,6 +1024,7 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, const ch } if (!strcmp(arg, "--cherry-pick")) { revs->cherry_pick = 1; + revs->limited = 1; continue; } if (!strcmp(arg, "--objects")) { @@ -1208,8 +1209,6 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, const ch opts = diff_opt_parse(&revs->diffopt, argv+i, argc-i); if (opts > 0) { - if (strcmp(argv[i], "-z")) - revs->diff = 1; i += opts - 1; continue; } @@ -1253,6 +1252,14 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, const ch add_pending_object_with_mode(revs, object, def, mode); } + /* Did the user ask for any diff output? Run the diff! */ + if (revs->diffopt.output_format & ~DIFF_FORMAT_NO_OUTPUT) + revs->diff = 1; + + /* Pickaxe and rename following needs diffs */ + if (revs->diffopt.pickaxe || revs->diffopt.follow_renames) + revs->diff = 1; + if (revs->topo_order) revs->limited = 1;