Merge branch 'jc/dotdot-is-parent-directory'
"git log .." errored out saying it is both rev range and a path when there is no disambiguating "--" is on the command line. Update the command line parser to interpret ".." as a path in such a case. * jc/dotdot-is-parent-directory: specifying ranges: we did not mean to make ".." an empty set
This commit is contained in:
@ -230,6 +230,7 @@ static int try_difference(const char *arg)
|
||||
const char *next;
|
||||
const char *this;
|
||||
int symmetric;
|
||||
static const char head_by_default[] = "HEAD";
|
||||
|
||||
if (!(dotdot = strstr(arg, "..")))
|
||||
return 0;
|
||||
@ -241,9 +242,20 @@ static int try_difference(const char *arg)
|
||||
next += symmetric;
|
||||
|
||||
if (!*next)
|
||||
next = "HEAD";
|
||||
next = head_by_default;
|
||||
if (dotdot == arg)
|
||||
this = "HEAD";
|
||||
this = head_by_default;
|
||||
|
||||
if (this == head_by_default && next == head_by_default &&
|
||||
!symmetric) {
|
||||
/*
|
||||
* Just ".."? That is not a range but the
|
||||
* pathspec for the parent directory.
|
||||
*/
|
||||
*dotdot = '.';
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!get_sha1_committish(this, sha1) && !get_sha1_committish(next, end)) {
|
||||
show_rev(NORMAL, end, next);
|
||||
show_rev(symmetric ? NORMAL : REVERSED, sha1, this);
|
||||
|
Reference in New Issue
Block a user