threads / patch / 46429

patch, 6 partsRelNotes: mention "log: add -P as a synonym for --perl-regexp"

Subject: [PATCH 1/6] RelNotes: mention "log: add -P as a synonym for --perl-regexp"

## tl;dr

12 messages between Jul 20, 2017 and Jul 21, 2017. Diffs are folded; open one to read it.

replies: 11people: 2as markdown or json

Ævar Arnfjörð Bjarmason· Jul 20, 2017, 14:19 UTC · lore

[PATCH 0/6] 2.14 RelNotes improvements

Show 9 quoted lines
> Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:
>
>> On Thu, Jul 13 2017, Junio C. Hamano jotted:
>>
>> Proposed improvements for the release notes (is this a good way to
>> propose RelNotes changes?)
>
> Thanks.  You could also throw a patch just like any bugfix/update
> to documentation, I would think.

Here's a few patches to improve the relnotes. I started just writing 6/6 since I think (I don't care about the wording) that we should in some way mention the items in the list in the 6/6 commit message.

Along the way I noticed a few more missing things.
Ævar Arnfjörð Bjarmason (6):
  RelNotes: mention "log: add -P as a synonym for --perl-regexp"
  RelNotes: mention "log: make --regexp-ignore-case work with
    --perl-regexp"
  RelNotes: mention "sha1dc: optionally use sha1collisiondetection as a
    submodule"
  RelNotes: mention that PCRE v2 exposes the same syntax
  RelNotes: remove duplicate mention of PCRE v2
  RelNotes: add more notes about PCRE in 2.14
 Documentation/RelNotes/2.14.0.txt | 25 +++++++++++++++++++++++--
 1 file changed, 23 insertions(+), 2 deletions(-)
-- 
2.13.2.932.g7449e964c
Ævar Arnfjörð Bjarmason· Jul 20, 2017, 14:19 UTC · re: Ævar Arnfjörð Bjarmason · lore

To inform users that they can use the short form now. See 7531a2dd87 ("log: add -P as a synonym for --perl-regexp", 2017-05-25).

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 Documentation/RelNotes/2.14.0.txt | 2 ++
 1 file changed, 2 insertions(+)
Show changes to Documentation/RelNotes/2.14.0.txt +2 −0
diff --git a/Documentation/RelNotes/2.14.0.txt b/Documentation/RelNotes/2.14.0.txt
index 2f3879fe96..9a4c2bb649 100644
--- a/Documentation/RelNotes/2.14.0.txt
+++ b/Documentation/RelNotes/2.14.0.txt
@@ -117,6 +117,8 @@ UI, Workflows & Features
  * "git pull --rebase --recurse-submodules" learns to rebase the
    branch in the submodules to an updated base.
 
+ * "git log" learned -P as a synonym for --perl-regexp, "git grep"
+   already had such a synonym.
 
 Performance, Internal Implementation, Development Support etc.
 
-- 
2.13.2.932.g7449e964c
Ævar Arnfjörð Bjarmason· Jul 20, 2017, 14:19 UTC · re: Ævar Arnfjörð Bjarmason · lore

[PATCH 2/6] RelNotes: mention "log: make --regexp-ignore-case work with --perl-regexp"

To inform users that they can use --regexp-ignore-case now, and that existing scripts which relied on that + PCRE may be buggy. See 9e3cbc59d5 ("log: make --regexp-ignore-case work with --perl-regexp", 2017-05-20).

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 Documentation/RelNotes/2.14.0.txt | 3 +++
 1 file changed, 3 insertions(+)
Show changes to Documentation/RelNotes/2.14.0.txt +3 −0
diff --git a/Documentation/RelNotes/2.14.0.txt b/Documentation/RelNotes/2.14.0.txt
index 9a4c2bb649..c125f8fd68 100644
--- a/Documentation/RelNotes/2.14.0.txt
+++ b/Documentation/RelNotes/2.14.0.txt
@@ -120,6 +120,9 @@ UI, Workflows & Features
  * "git log" learned -P as a synonym for --perl-regexp, "git grep"
    already had such a synonym.
 
+ * "git log" didn't understand --regexp-ignore-case when combined with
+   --perl-regexp. This has been fixed.
+
 Performance, Internal Implementation, Development Support etc.
 
  * The default packed-git limit value has been raised on larger
-- 
2.13.2.932.g7449e964c
Ævar Arnfjörð Bjarmason· Jul 20, 2017, 14:19 UTC · re: Ævar Arnfjörð Bjarmason · lore

[PATCH 3/6] RelNotes: mention "sha1dc: optionally use sha1collisiondetection as a submodule"

To note that merely cloning git.git without --recurse-submodules doesn't get you a full copy of the code anymore. See 5f6482d642 ("RelNotes: mention "log: make --regexp-ignore-case work with --perl-regexp"", 2017-07-20).

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 Documentation/RelNotes/2.14.0.txt | 5 +++++
 1 file changed, 5 insertions(+)
Show changes to Documentation/RelNotes/2.14.0.txt +5 −0
diff --git a/Documentation/RelNotes/2.14.0.txt b/Documentation/RelNotes/2.14.0.txt
index c125f8fd68..7ed93bca37 100644
--- a/Documentation/RelNotes/2.14.0.txt
+++ b/Documentation/RelNotes/2.14.0.txt
@@ -235,6 +235,11 @@ Performance, Internal Implementation, Development Support etc.
    behaviour of the comparison function can be specified at the time a
    hashmap is initialized.
 
+ * The "collision detecting" SHA-1 implementation shipped with 2.13 is
+   now integrated into git.git as a submodule (the first submodule to
+   ship with git.git). Clone git.git with --recurse-submodules to get
+   it. For now a non-submodule copy of the same code is also shipped
+   as part of the tree.
 
 Also contains various documentation updates and code clean-ups.
 
-- 
2.13.2.932.g7449e964c
Ævar Arnfjörð Bjarmason· Jul 20, 2017, 14:19 UTC · re: Ævar Arnfjörð Bjarmason · lore

[PATCH 5/6] RelNotes: remove duplicate mention of PCRE v2

That we can link to PCRE v2 is already covered above in "Backward compatibility notes and other notable changes", no need to mention it twice.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 Documentation/RelNotes/2.14.0.txt | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
Show changes to Documentation/RelNotes/2.14.0.txt +1 −2
diff --git a/Documentation/RelNotes/2.14.0.txt b/Documentation/RelNotes/2.14.0.txt
index 0e363f2af3..fb6a3dba31 100644
--- a/Documentation/RelNotes/2.14.0.txt
+++ b/Documentation/RelNotes/2.14.0.txt
@@ -88,8 +88,7 @@ UI, Workflows & Features
    learned to say "it's a pathspec" a bit more often when the syntax
    looks like so.
 
- * Update "perl-compatible regular expression" support to enable JIT
-   and also allow linking with the newer PCRE v2 library.
+ * Update "perl-compatible regular expression" support to enable JIT.
 
  * "filter-branch" learned a pseudo filter "--setup" that can be used
    to define common functions/variables that can be used by other
-- 
2.13.2.932.g7449e964c
Junio C Hamano· Jul 20, 2017, 15:26 UTC · re: Ævar Arnfjörð Bjarmason · lore

Re: [PATCH 5/6] RelNotes: remove duplicate mention of PCRE v2

Ævar Arnfjörð Bjarmason  <avarab@gmail.com> writes:
> That we can link to PCRE v2 is already covered above in "Backward
> compatibility notes and other notable changes", no need to mention it
> twice.

This is actually deliberate, as I'd prefer to have a description that is written at the same detail-level (i.e. "just a bullet item, if you want to know more, go read the doc") as the other items in the list, whether a more detailed description is given elsewhere.

Show 19 quoted lines
> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
> ---
>  Documentation/RelNotes/2.14.0.txt | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/Documentation/RelNotes/2.14.0.txt b/Documentation/RelNotes/2.14.0.txt
> index 0e363f2af3..fb6a3dba31 100644
> --- a/Documentation/RelNotes/2.14.0.txt
> +++ b/Documentation/RelNotes/2.14.0.txt
> @@ -88,8 +88,7 @@ UI, Workflows & Features
>     learned to say "it's a pathspec" a bit more often when the syntax
>     looks like so.
>  
> - * Update "perl-compatible regular expression" support to enable JIT
> -   and also allow linking with the newer PCRE v2 library.
> + * Update "perl-compatible regular expression" support to enable JIT.
>  
>   * "filter-branch" learned a pseudo filter "--setup" that can be used
>     to define common functions/variables that can be used by other
Ævar Arnfjörð Bjarmason· Jul 20, 2017, 14:19 UTC · re: Ævar Arnfjörð Bjarmason · lore

[PATCH 6/6] RelNotes: add more notes about PCRE in 2.14

We were missing any mention that:
 - PCRE is now faster with JIT
 - That it's now faster than the other regex backends
 - That therefore you might want to use it by default, but beware of
   the incompatible syntax.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 Documentation/RelNotes/2.14.0.txt | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)
Show changes to Documentation/RelNotes/2.14.0.txt +10 −1
diff --git a/Documentation/RelNotes/2.14.0.txt b/Documentation/RelNotes/2.14.0.txt
index fb6a3dba31..a6a1cb963b 100644
--- a/Documentation/RelNotes/2.14.0.txt
+++ b/Documentation/RelNotes/2.14.0.txt
@@ -88,7 +88,16 @@ UI, Workflows & Features
    learned to say "it's a pathspec" a bit more often when the syntax
    looks like so.
 
- * Update "perl-compatible regular expression" support to enable JIT.
+ * Update "perl-compatible regular expression" support to enable
+   JIT.
+
+   This makes grep.patternType=perl (and -P and --perl-regexp) much
+   faster for "git grep" and "git log", and is generally faster than
+   the system's POSIX regular expression implementation. Users
+   concerned with "git grep" performance or "git log --grep"
+   performance might want to try setting grep.patternType=perl. Note
+   that the syntax isn't compatible with git's default of
+   grep.patternType=basic.
 
  * "filter-branch" learned a pseudo filter "--setup" that can be used
    to define common functions/variables that can be used by other
-- 
2.13.2.932.g7449e964c
Junio C Hamano· Jul 20, 2017, 19:11 UTC · re: Ævar Arnfjörð Bjarmason · lore

Re: [PATCH 6/6] RelNotes: add more notes about PCRE in 2.14

Ævar Arnfjörð Bjarmason  <avarab@gmail.com> writes:
Show 6 quoted lines
> We were missing any mention that:
>
>  - PCRE is now faster with JIT
>  - That it's now faster than the other regex backends
>  - That therefore you might want to use it by default, but beware of
>    the incompatible syntax.

Hmph. All of that has been more or less deliberate, as I want the release notes to be more like table of contents, one bullet per item with short description, not a novelette with one paragraph per item.

These should already be in the documentation when they do want to decide if they want to use JIT; somebody who downloads 2.15 or later and wants to decide if they want JIT shouldn't have to dig down to earlier release notes that introduced the option for the first time.

Show 27 quoted lines
> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
> ---
>  Documentation/RelNotes/2.14.0.txt | 11 ++++++++++-
>  1 file changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/RelNotes/2.14.0.txt b/Documentation/RelNotes/2.14.0.txt
> index fb6a3dba31..a6a1cb963b 100644
> --- a/Documentation/RelNotes/2.14.0.txt
> +++ b/Documentation/RelNotes/2.14.0.txt
> @@ -88,7 +88,16 @@ UI, Workflows & Features
>     learned to say "it's a pathspec" a bit more often when the syntax
>     looks like so.
>  
> - * Update "perl-compatible regular expression" support to enable JIT.
> + * Update "perl-compatible regular expression" support to enable
> +   JIT.
> +
> +   This makes grep.patternType=perl (and -P and --perl-regexp) much
> +   faster for "git grep" and "git log", and is generally faster than
> +   the system's POSIX regular expression implementation. Users
> +   concerned with "git grep" performance or "git log --grep"
> +   performance might want to try setting grep.patternType=perl. Note
> +   that the syntax isn't compatible with git's default of
> +   grep.patternType=basic.
>  
>   * "filter-branch" learned a pseudo filter "--setup" that can be used
>     to define common functions/variables that can be used by other
Ævar Arnfjörð Bjarmason· Jul 20, 2017, 14:19 UTC · re: Ævar Arnfjörð Bjarmason · lore

[PATCH 4/6] RelNotes: mention that PCRE v2 exposes the same syntax

For someone not familiar with PCRE or having read its own documentation this isn't obvious, let's explicitly mention it so package maintainers won't fear upgrading least they break things for their users.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 Documentation/RelNotes/2.14.0.txt | 3 +++
 1 file changed, 3 insertions(+)
Show changes to Documentation/RelNotes/2.14.0.txt +3 −0
diff --git a/Documentation/RelNotes/2.14.0.txt b/Documentation/RelNotes/2.14.0.txt
index 7ed93bca37..0e363f2af3 100644
--- a/Documentation/RelNotes/2.14.0.txt
+++ b/Documentation/RelNotes/2.14.0.txt
@@ -28,6 +28,9 @@ Backward compatibility notes and other notable changes.
    upstream PCRE maintainer has abandoned v1 maintenance for all but
    the most critical bug fixes, use of v2 is recommended.
 
+   Version v2 of the library is fully backwards compatible with the
+   Perl-compatible regular expression syntax exposed by git (sans a
+   few obscure bugfixes).
 
 Updates since v2.13
 -------------------
-- 
2.13.2.932.g7449e964c
Junio C Hamano· Jul 20, 2017, 15:24 UTC · re: Ævar Arnfjörð Bjarmason · lore

Re: [PATCH 4/6] RelNotes: mention that PCRE v2 exposes the same syntax

Ævar Arnfjörð Bjarmason  <avarab@gmail.com> writes:
> For someone not familiar with PCRE or having read its own
> documentation this isn't obvious, let's explicitly mention it so
> package maintainers won't fear upgrading least they break things for
> their users.

If packagers trust our assessment on one external library's backward compatibility, our using and recommending it is sufficient to them. If the don't trust us but rather want to verify themselves, the new paragraph is not all that useful to them, and more importantly, we are not in the position or business of giving extended warranty to other people's library.

For these reasons, I'd feel a bit hesitant to add something like this.

Show 20 quoted lines
>
> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
> ---
>  Documentation/RelNotes/2.14.0.txt | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/Documentation/RelNotes/2.14.0.txt b/Documentation/RelNotes/2.14.0.txt
> index 7ed93bca37..0e363f2af3 100644
> --- a/Documentation/RelNotes/2.14.0.txt
> +++ b/Documentation/RelNotes/2.14.0.txt
> @@ -28,6 +28,9 @@ Backward compatibility notes and other notable changes.
>     upstream PCRE maintainer has abandoned v1 maintenance for all but
>     the most critical bug fixes, use of v2 is recommended.
>  
> +   Version v2 of the library is fully backwards compatible with the
> +   Perl-compatible regular expression syntax exposed by git (sans a
> +   few obscure bugfixes).
>  
>  Updates since v2.13
>  -------------------
Junio C Hamano· Jul 20, 2017, 20:35 UTC · re: Ævar Arnfjörð Bjarmason · lore

Re: [PATCH 0/6] 2.14 RelNotes improvements

Ævar Arnfjörð Bjarmason  <avarab@gmail.com> writes:
Show 15 quoted lines
> Here's a few patches to improve the relnotes. I started just writing
> 6/6 since I think (I don't care about the wording) that we should in
> some way mention the items in the list in the 6/6 commit message.
>
> Along the way I noticed a few more missing things.
>
> Ævar Arnfjörð Bjarmason (6):
>   RelNotes: mention "log: add -P as a synonym for --perl-regexp"
>   RelNotes: mention "log: make --regexp-ignore-case work with
>     --perl-regexp"
>   RelNotes: mention "sha1dc: optionally use sha1collisiondetection as a
>     submodule"
>   RelNotes: mention that PCRE v2 exposes the same syntax
>   RelNotes: remove duplicate mention of PCRE v2
>   RelNotes: add more notes about PCRE in 2.14

Thanks. 1-3/6 went straight to 'master'. I am not outright rejecting the remainder, but I do not think these are release notes material---if they need to be told, they should be in a part of the regular documentation, and I suspect that they already are in your series.

Ævar Arnfjörð Bjarmason· Jul 21, 2017, 11:03 UTC · re: Junio C Hamano · lore

Re: [PATCH 0/6] 2.14 RelNotes improvements

On Thu, Jul 20 2017, Junio C. Hamano jotted:
Show 23 quoted lines
> Ævar Arnfjörð Bjarmason  <avarab@gmail.com> writes:
>
>> Here's a few patches to improve the relnotes. I started just writing
>> 6/6 since I think (I don't care about the wording) that we should in
>> some way mention the items in the list in the 6/6 commit message.
>>
>> Along the way I noticed a few more missing things.
>>
>> Ævar Arnfjörð Bjarmason (6):
>>   RelNotes: mention "log: add -P as a synonym for --perl-regexp"
>>   RelNotes: mention "log: make --regexp-ignore-case work with
>>     --perl-regexp"
>>   RelNotes: mention "sha1dc: optionally use sha1collisiondetection as a
>>     submodule"
>>   RelNotes: mention that PCRE v2 exposes the same syntax
>>   RelNotes: remove duplicate mention of PCRE v2
>>   RelNotes: add more notes about PCRE in 2.14
>
> Thanks.  1-3/6 went straight to 'master'.  I am not outright
> rejecting the remainder, but I do not think these are release notes
> material---if they need to be told, they should be in a part of the
> regular documentation, and I suspect that they already are in your
> series.

Thanks. I agree that 4-6 are better left to the docs. I wasn't very familiar with the format of the release notes / what you preferref to list there & how.

I'll integrate what 6/6 mentions with my nascent gitperformance.txt series.

← back to recent threads