git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: Git <git@vger.kernel.org>
Subject: A couple of bugs / things TODO I encountered
Date: Tue, 27 Sep 2016 00:13:50 +0200	[thread overview]
Message-ID: <CACBZZX5wdnA-96e11edE7xRnAHo19RFTrZmqFQj-0ogLOJTncQ@mail.gmail.com> (raw)

I have these on my TODO list to look at at some point, but who knows
when, meanwhile I thought I'd send them to the list if anyone's
interested or wants to comment on them.

= Inconsistent regexp usage:

If you supply --perl-regexp to git-log it only applies to --grep. The
documentation says "Consider the limiting patterns to be
Perl-compatible regular expressions". Which might lead you to think
that e.g. -G uses it too. It doesn't, only grep.c does PCRE, but -G is
handled by diffcore-pickaxe.c.

Looking at "git grep -l regexec -- '*.c'" this whole thing is a mess.
Ideally you should be able to say you want to use PCRE for everything,
except maybe things that end up in your .gitconfig or e.g. the diff
driver. But we could really use a more generic regexp interface.

In general Git's regexp use is a huge mess, e.g. there's
--regexp-ignore-case but no way to supply various other regexp options
like REG_NEWLINE or PCRE options consistently.

= "git describe" really needs some overhaul

$ git describe  6ebdac1
v2.10.0
$ git describe  --contains 6ebdac1
v2.10.0^0

As far as I can tell for the former there's no options that'll give me
v2.10.0-g6ebdac1, or v2.10.0-g6ebdac1 for the latter.

The reason I want that is that I like using "git describe" to give me
approximately when a commit happened in a repo, but the tags may get
deleted. In that case the *g<commit> syntax makes sure we can still
look up the commit, but omitting the commit if it exactly corresponds
to a tag, or the entire otherwise useful --contains option breaks
that.

                 reply	other threads:[~2016-09-26 22:14 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CACBZZX5wdnA-96e11edE7xRnAHo19RFTrZmqFQj-0ogLOJTncQ@mail.gmail.com \
    --to=avarab@gmail.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).