[Openvpn-devel] Add .git-blame-ignore-revs with reformat commits

Message ID 20200528235423.27416-1-arne@rfc2549.org
State Superseded
Headers show
Series [Openvpn-devel] Add .git-blame-ignore-revs with reformat commits | expand

Commit Message

Arne Schwabe May 28, 2020, 1:54 p.m. UTC
This allows git blame to ignore reformatting changes and instead
shows the previous commit that changed the line.

To avoid manually building the list of commits this commit
adds a file with a list of reformatting commits. I might have
missed a few but this should be a good start. To use the file
use:

   git blame --ignore-revs-file=.git-blame-ignore-revs file

or to automatically always use the file

   git config blame.ignoreRevsFile .git-blame-ignore-revs

Naming the file .git-blame-ignore-revs is a convention.

Some more details in this random blog post:

https://www.moxio.com/blog/43/ignoring-bulk-change-commits-with-git-blame

Signed-off-by: Arne Schwabe <arne@rfc2549.org>
---
 .git-blame-ignore-revs                        | 29 +++++++++++++++++++
 .../managent-demo/management-demo-server.py   |  0
 contrib/ovpnkeys.py                           |  0
 3 files changed, 29 insertions(+)
 create mode 100644 .git-blame-ignore-revs
 create mode 100644 contrib/managent-demo/management-demo-server.py
 create mode 100644 contrib/ovpnkeys.py

diff --git a/contrib/managent-demo/management-demo-server.py b/contrib/managent-demo/management-demo-server.py
new file mode 100644
index 00000000..e69de29b
diff --git a/contrib/ovpnkeys.py b/contrib/ovpnkeys.py
new file mode 100644
index 00000000..e69de29b

Comments

David Sommerseth May 29, 2020, 3:51 a.m. UTC | #1
On 29/05/2020 01:54, Arne Schwabe wrote:
> This allows git blame to ignore reformatting changes and instead
> shows the previous commit that changed the line.
> 
> To avoid manually building the list of commits this commit
> adds a file with a list of reformatting commits. I might have
> missed a few but this should be a good start. To use the file
> use:
> 
>    git blame --ignore-revs-file=.git-blame-ignore-revs file
> 
> or to automatically always use the file
> 
>    git config blame.ignoreRevsFile .git-blame-ignore-revs
> 
> Naming the file .git-blame-ignore-revs is a convention.
> 
> Some more details in this random blog post:
> 
> https://www.moxio.com/blog/43/ignoring-bulk-change-commits-with-git-blame
> 

Feature-ACK ... the commit message could also mention that git 2.23 is needed
as well.

> Signed-off-by: Arne Schwabe <arne@rfc2549.org>
> ---
>  .git-blame-ignore-revs                        | 29 +++++++++++++++++++
>  .../managent-demo/management-demo-server.py   |  0
>  contrib/ovpnkeys.py                           |  0
>  3 files changed, 29 insertions(+)
>  create mode 100644 .git-blame-ignore-revs
>  create mode 100644 contrib/managent-demo/management-demo-server.py
>  create mode 100644 contrib/ovpnkeys.py
> 
> diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs
> new file mode 100644
> index 00000000..3cc811cf
> --- /dev/null
> +++ b/.git-blame-ignore-revs
> @@ -0,0 +1,29 @@
> +# Uncrustify the tests/unit_tests/ part of our tree. 
> +da1574ef7826d73f01e120cbd1ba40ce39a305b7
> +
> +# Another round of uncrustify code cleanup.
> +9cf7b4925a54d93fbea1cadcf3dc0e11f3ce358f
> +
> +# networking_sitnl.c: uncrustify file
> +2c45d268ca65c522fbabb7c4dab5e721296b4623
> +
> +# Uncrustify tapctl and openvpnmsica
> +6280d3d5536174934ee22d3840457d61896e0e3a

Missing a blank line here, for consistency

> +# tun.c: uncrustify
> +baef44fc8769bbd99f4d699ce9f63180c29a5455
> +
> +# networking_sitnl.c: uncrustify file
> +2c45d268ca65c522fbabb7c4dab5e721296b4623
> +
> +# uncrustify openvpn sources
> +f57431cdc88f22fa4d7962946f0d3187fe058539
> +
> +# More broadly enforce Allman style and braces-around-conditionals
> +4cd4899e8e80efae03c584a760fd107251735723
> +
> +# Merge 'reformatting' branch into master
> +1f004b2f06e987d73e48f7fd7b96b0b248274f58

Are you sure this "merge" commit shouldn't be commit 81d882d5 instead?

> +
> +# The Great Reformatting - first phase
> +81d882d5302b8b647202a6893b57dfdc61fd6df2
> +
> diff --git a/contrib/managent-demo/management-demo-server.py b/contrib/managent-demo/management-demo-server.py
> new file mode 100644

This file shouldn't be included in this change.

> index 00000000..e69de29b
> diff --git a/contrib/ovpnkeys.py b/contrib/ovpnkeys.py
> new file mode 100644
> index 00000000..e69de29b
> 

So a few minor things to look into, otherwise this is really valuable.

I would probably also consider to also add a note about this git feature in
README.  It's not the most ideal file, but I struggle to find a better place
currently (I might have overlooked something).  We would probably benefit
having a separate developers README with all the hints, tips and tricks
developers would need to care about.  That is, however, out of scope for this
change.
Arne Schwabe May 29, 2020, 4:21 a.m. UTC | #2
Am 29.05.20 um 15:51 schrieb David Sommerseth:
> On 29/05/2020 01:54, Arne Schwabe wrote:
>> This allows git blame to ignore reformatting changes and instead
>> shows the previous commit that changed the line.
>>
>> To avoid manually building the list of commits this commit
>> adds a file with a list of reformatting commits. I might have
>> missed a few but this should be a good start. To use the file
>> use:
>>
>>    git blame --ignore-revs-file=.git-blame-ignore-revs file
>>
>> or to automatically always use the file
>>
>>    git config blame.ignoreRevsFile .git-blame-ignore-revs
>>
>> Naming the file .git-blame-ignore-revs is a convention.
>>
>> Some more details in this random blog post:
>>
>> https://www.moxio.com/blog/43/ignoring-bulk-change-commits-with-git-blame
>>
> 
> Feature-ACK ... the commit message could also mention that git 2.23 is needed
> as well.
> 
>> Signed-off-by: Arne Schwabe <arne@rfc2549.org>
>> ---
>>  .git-blame-ignore-revs                        | 29 +++++++++++++++++++
>>  .../managent-demo/management-demo-server.py   |  0
>>  contrib/ovpnkeys.py                           |  0
>>  3 files changed, 29 insertions(+)
>>  create mode 100644 .git-blame-ignore-revs
>>  create mode 100644 contrib/managent-demo/management-demo-server.py
>>  create mode 100644 contrib/ovpnkeys.py
>>
>> diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs
>> new file mode 100644
>> index 00000000..3cc811cf
>> --- /dev/null
>> +++ b/.git-blame-ignore-revs
>> @@ -0,0 +1,29 @@
>> +# Uncrustify the tests/unit_tests/ part of our tree. 
>> +da1574ef7826d73f01e120cbd1ba40ce39a305b7
>> +
>> +# Another round of uncrustify code cleanup.
>> +9cf7b4925a54d93fbea1cadcf3dc0e11f3ce358f
>> +
>> +# networking_sitnl.c: uncrustify file
>> +2c45d268ca65c522fbabb7c4dab5e721296b4623
>> +
>> +# Uncrustify tapctl and openvpnmsica
>> +6280d3d5536174934ee22d3840457d61896e0e3a
> 
> Missing a blank line here, for consistency
> 
>> +# tun.c: uncrustify
>> +baef44fc8769bbd99f4d699ce9f63180c29a5455
>> +
>> +# networking_sitnl.c: uncrustify file
>> +2c45d268ca65c522fbabb7c4dab5e721296b4623
>> +
>> +# uncrustify openvpn sources
>> +f57431cdc88f22fa4d7962946f0d3187fe058539
>> +
>> +# More broadly enforce Allman style and braces-around-conditionals
>> +4cd4899e8e80efae03c584a760fd107251735723
>> +
>> +# Merge 'reformatting' branch into master
>> +1f004b2f06e987d73e48f7fd7b96b0b248274f58
> 
> Are you sure this "merge" commit shouldn't be commit 81d882d5 instead?
>

I am not sure to be honest, that is why I included both commits as
ignoring the merge commit might be instead then showing the other commit.

Arne
Antonio Quartulli May 29, 2020, 4:26 a.m. UTC | #3
Hi,

On 29/05/2020 16:21, Arne Schwabe wrote:
> Am 29.05.20 um 15:51 schrieb David Sommerseth:
>> On 29/05/2020 01:54, Arne Schwabe wrote:
>>> +# Merge 'reformatting' branch into master
>>> +1f004b2f06e987d73e48f7fd7b96b0b248274f58
>>
>> Are you sure this "merge" commit shouldn't be commit 81d882d5 instead?
>>
> 
> I am not sure to be honest, that is why I included both commits as
> ignoring the merge commit might be instead then showing the other commit.

merge commits are normally there to solve conflicts..or to do nothing.

The conflict might be related to the reformatting (so you think we may
want to hide it)...but I think we should not ignore it in any case as
resolving a conflict is potentially a source of bugs.

Regards,

Patch

diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs
new file mode 100644
index 00000000..3cc811cf
--- /dev/null
+++ b/.git-blame-ignore-revs
@@ -0,0 +1,29 @@ 
+# Uncrustify the tests/unit_tests/ part of our tree. 
+da1574ef7826d73f01e120cbd1ba40ce39a305b7
+
+# Another round of uncrustify code cleanup.
+9cf7b4925a54d93fbea1cadcf3dc0e11f3ce358f
+
+# networking_sitnl.c: uncrustify file
+2c45d268ca65c522fbabb7c4dab5e721296b4623
+
+# Uncrustify tapctl and openvpnmsica
+6280d3d5536174934ee22d3840457d61896e0e3a
+# tun.c: uncrustify
+baef44fc8769bbd99f4d699ce9f63180c29a5455
+
+# networking_sitnl.c: uncrustify file
+2c45d268ca65c522fbabb7c4dab5e721296b4623
+
+# uncrustify openvpn sources
+f57431cdc88f22fa4d7962946f0d3187fe058539
+
+# More broadly enforce Allman style and braces-around-conditionals
+4cd4899e8e80efae03c584a760fd107251735723
+
+# Merge 'reformatting' branch into master
+1f004b2f06e987d73e48f7fd7b96b0b248274f58
+
+# The Great Reformatting - first phase
+81d882d5302b8b647202a6893b57dfdc61fd6df2
+