Skip to content

Commit

Permalink
diff A...B: do not limit the syntax too narrowly
Browse files Browse the repository at this point in the history
Earlier we tried to make sure that the trees we get are what A...B
syntax produced, by checking that earlier ones are all marked
uninteresting (which has to be true as they are merge bases),
there are two remaining ones that are interesting, and they are
marked as non-symmetric-left and symmetric-left respectively.

The "the last two must be interesting" condition is however wrong when one
is an ancestor of the other between A and B (i.e. fast-forward).  In such
a case, one of them is marked uninteresting.
  • Loading branch information
Junio C Hamano committed Jul 16, 2010
1 parent c008c0f commit 7a0e4d7
Showing 1 changed file with 0 additions and 13 deletions.
13 changes: 0 additions & 13 deletions builtin-diff.c
Original file line number Diff line number Diff line change
Expand Up @@ -406,19 +406,6 @@ int cmd_diff(int argc, const char **argv, const char *prefix)
else if (ents == 2)
result = builtin_diff_tree(&rev, argc, argv, ent);
else if (ent[0].item->flags & UNINTERESTING) {
/*
* Perhaps the user gave us A...B, which expands
* to a list of negative merge bases followed by
* A (symmetric-left) and B? Let's make sure...
*/
for (i = 1; i < ents; i++)
if (!(ent[i].item->flags & UNINTERESTING))
break;
if (ents != i + 2 ||
(ent[i+1].item->flags & UNINTERESTING) ||
(!(ent[i].item->flags & SYMMETRIC_LEFT)) ||
(ent[i+1].item->flags & SYMMETRIC_LEFT))
die("what do you mean by that?");
/*
* diff A...B where there is at least one merge base
* between A and B. We have ent[0] == merge-base,
Expand Down

0 comments on commit 7a0e4d7

Please sign in to comment.