Re: [Annoyance] "git log .." thinks ".." is ambiguous
- From
- Joshua Juran <jjuran@gmail.com>
- Date
- May 3, 2011, 01:57 UTC
- Message-ID
- <FB837238-9953-4FD8-BC52-5C0AB061C291@gmail.com>
- In-Reply-To
- <7vr58glxro.fsf@alter.siamese.dyndns.org>
On May 2, 2011, at 12:15 PM, Junio C Hamano wrote:
Show 22 quoted lines
> diff --git a/revision.c b/revision.c
> index f4b8b38..26271d1 100644
> --- a/revision.c
> +++ b/revision.c
> @@ -905,14 +905,26 @@ int handle_revision_arg(const char *arg,
> struct rev_info *revs,
> const char *this = arg;
> int symmetric = *next == '.';
> unsigned int flags_exclude = flags ^ UNINTERESTING;
> + static const char head_by_default[] = "HEAD";
>
> *dotdot = 0;
> 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) {Is there a reason not to write
const char *head_by_default = "HEAD";
or even
const char *const head_by_default = "HEAD";
instead? Loading a static array and checking an init flag is a pessimization versus just pointing into a read-only segment.
Josh