Carlos Martín Nieto <cmn@xxxxxxxx> writes: > I was trying to figure out why running > > git diff HEAD^:RelNotes RelNotes > > gives the expected output (on maint it tells me that the stable > version changed from 1.7.8.3 to 1.7.8.4) but swapping the arguments > doesn't. > > git diff RelNotes HEAD^:RelNotes > > doesn't show the opposite patch ... That comes from the general argument parsing rules of Git, namely, global options (e.g. --paginate) first, then subcommand name, followed by dashed options, revs and finally the paths. Once you give "RelNotes", which cannot be a rev, you cannot give a rev. We _could_ special case the rule for "diff", but we simply didn't bother, as the resulting code (and the implications of special casing) would be too ugly to live to support such a corner case usage, especially when you could always say "-R" to reverse the output. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html