git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* Let us not call it git blame
       [not found] <SY6P282MB3782FD975E6F39951C5A43DA92B29@SY6P282MB3782.AUSP282.PROD.OUTLOOK.COM>
@ 2023-03-02 22:00 ` Dinesh Dharmawardena
  2023-03-02 22:16   ` brian m. carlson
                     ` (4 more replies)
  0 siblings, 5 replies; 10+ messages in thread
From: Dinesh Dharmawardena @ 2023-03-02 22:00 UTC (permalink / raw)
  To: git@vger.kernel.org

Hi

I am writing to you to request that the term blame in git blame be replaced with something that does not sound so blameful. I’m an SRE and we actively try promote a blameless culture as such industry tooling should also follow suit imo. Progressively phasing this term out with a better alias would be great.

Cheers
Dinesh

Sent from my iPhone

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Let us not call it git blame
  2023-03-02 22:00 ` Let us not call it git blame Dinesh Dharmawardena
@ 2023-03-02 22:16   ` brian m. carlson
  2023-03-02 23:47     ` Junio C Hamano
  2023-03-03  8:28   ` demerphq
                     ` (3 subsequent siblings)
  4 siblings, 1 reply; 10+ messages in thread
From: brian m. carlson @ 2023-03-02 22:16 UTC (permalink / raw)
  To: Dinesh Dharmawardena; +Cc: git@vger.kernel.org

[-- Attachment #1: Type: text/plain, Size: 921 bytes --]

On 2023-03-02 at 22:00:59, Dinesh Dharmawardena wrote:
> Hi
> 
> I am writing to you to request that the term blame in git blame be replaced with something that does not sound so blameful. I’m an SRE and we actively try promote a blameless culture as such industry tooling should also follow suit imo. Progressively phasing this term out with a better alias would be great.

I believe there's already an alias for it, git annotate, if you'd prefer
to use that.  The name "blame" came in with CVS, with the synonym
"annotate", so it's well understood, but you can use whichever alias you
prefer.

I do think there may some differences in the defaults between git
annotate and git blame, but if someone wanted to send in a patch for an
option to make annotate produce identical output to blame, then I think
it could be a full replacement.
-- 
brian m. carlson (he/him or they/them)
Toronto, Ontario, CA

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 263 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Let us not call it git blame
  2023-03-02 22:16   ` brian m. carlson
@ 2023-03-02 23:47     ` Junio C Hamano
  2023-03-03  0:07       ` rsbecker
  2023-03-03  1:31       ` brian m. carlson
  0 siblings, 2 replies; 10+ messages in thread
From: Junio C Hamano @ 2023-03-02 23:47 UTC (permalink / raw)
  To: brian m. carlson; +Cc: Dinesh Dharmawardena, git@vger.kernel.org

"brian m. carlson" <sandals@crustytoothpaste.net> writes:

> On 2023-03-02 at 22:00:59, Dinesh Dharmawardena wrote:
>> 
>> I am writing to you to request that the term blame in git blame
>> be replaced with something that does not sound so blameful. I’m
>> an SRE and we actively try promote a blameless culture as such
>> industry tooling should also follow suit imo. Progressively
>> phasing this term out with a better alias would be great.

I actually do not think "git blame" is incompatible with blameless
culture at all, unless you blindly say "this word is bad, that word
is not" without thinking.  Blameless culture is about not blaming
the _person_ who made an earlier mistake, but "git blame" is not
about finding a person who contributed the badness to the codebase.

It is all about which _commit_ contributed badness to the current
codebase (i.e. "these commits are to be blamed for the current
breakage that made us lose $XM") and it is up to the users how to
interpret the story behind these found commits.  It often would not
be the "fault" of the author alone, and striving for blameless
culture is to find out what led to the mistakes in these commits.

> I believe there's already an alias for it, git annotate, if you'd
> prefer to use that.  The name "blame" came in with CVS, with the
> synonym "annotate", so it's well understood, but you can use
> whichever alias you prefer.
>
> I do think there may some differences in the defaults between git
> annotate and git blame, but if someone wanted to send in a patch for an
> option to make annotate produce identical output to blame, then I think
> it could be a full replacement.

At that point we can retire "git blame" and make it a built-in alias
to "git annotate --behave-like-git-blame".  Then we will come full
circle ;-)

Thanks.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* RE: Let us not call it git blame
  2023-03-02 23:47     ` Junio C Hamano
@ 2023-03-03  0:07       ` rsbecker
  2023-03-03  8:55         ` demerphq
  2023-03-03  1:31       ` brian m. carlson
  1 sibling, 1 reply; 10+ messages in thread
From: rsbecker @ 2023-03-03  0:07 UTC (permalink / raw)
  To: 'Junio C Hamano', 'brian m. carlson'
  Cc: 'Dinesh Dharmawardena', git

On Thursday, March 2, 2023 6:48 PM, Junio C Hamano wrote:
>"brian m. carlson" <sandals@crustytoothpaste.net> writes:
>
>> On 2023-03-02 at 22:00:59, Dinesh Dharmawardena wrote:
>>>
>>> I am writing to you to request that the term blame in git blame be
>>> replaced with something that does not sound so blameful. I’m an SRE
>>> and we actively try promote a blameless culture as such industry
>>> tooling should also follow suit imo. Progressively phasing this term
>>> out with a better alias would be great.
>
>I actually do not think "git blame" is incompatible with blameless culture at all,
>unless you blindly say "this word is bad, that word is not" without thinking.  Blameless
>culture is about not blaming the _person_ who made an earlier mistake, but "git
>blame" is not about finding a person who contributed the badness to the codebase.
>
>It is all about which _commit_ contributed badness to the current codebase (i.e.
>"these commits are to be blamed for the current breakage that made us lose $XM")
>and it is up to the users how to interpret the story behind these found commits.  It
>often would not be the "fault" of the author alone, and striving for blameless culture
>is to find out what led to the mistakes in these commits.
>
>> I believe there's already an alias for it, git annotate, if you'd
>> prefer to use that.  The name "blame" came in with CVS, with the
>> synonym "annotate", so it's well understood, but you can use whichever
>> alias you prefer.
>>
>> I do think there may some differences in the defaults between git
>> annotate and git blame, but if someone wanted to send in a patch for
>> an option to make annotate produce identical output to blame, then I
>> think it could be a full replacement.
>
>At that point we can retire "git blame" and make it a built-in alias to "git annotate --
>behave-like-git-blame".  Then we will come full circle ;-)

I think you have a good point here. Blame is associated with the commit which is not a specific person (might be a group though). In some (a few, but growing) companies I am dealing with, the core.user and core.email are associated with a nameless single sign on (SSO), or tokenized user, in order to be compliant from a regulatory standpoint. This includes GDPR in Europe and the Privacy Act in Canada. In these cases, there is no identifying information in the commit itself, but externally in the organization's HR and IT departments where identifying information is tightly controlled. Cause and effect will always exist, no matter how one might choose to semantically hide the usage. Words do matter, but identifying information may not for much longer. Perhaps that approach might help the OP's organization in their jurisdiction, to dissociate the commit from the person except during a specific audit context.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Let us not call it git blame
  2023-03-02 23:47     ` Junio C Hamano
  2023-03-03  0:07       ` rsbecker
@ 2023-03-03  1:31       ` brian m. carlson
  1 sibling, 0 replies; 10+ messages in thread
From: brian m. carlson @ 2023-03-03  1:31 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Dinesh Dharmawardena, git@vger.kernel.org

[-- Attachment #1: Type: text/plain, Size: 2053 bytes --]

On 2023-03-02 at 23:47:53, Junio C Hamano wrote:
> "brian m. carlson" <sandals@crustytoothpaste.net> writes:
> 
> > On 2023-03-02 at 22:00:59, Dinesh Dharmawardena wrote:
> >> 
> >> I am writing to you to request that the term blame in git blame
> >> be replaced with something that does not sound so blameful. I’m
> >> an SRE and we actively try promote a blameless culture as such
> >> industry tooling should also follow suit imo. Progressively
> >> phasing this term out with a better alias would be great.
> 
> I actually do not think "git blame" is incompatible with blameless
> culture at all, unless you blindly say "this word is bad, that word
> is not" without thinking.  Blameless culture is about not blaming
> the _person_ who made an earlier mistake, but "git blame" is not
> about finding a person who contributed the badness to the codebase.
> 
> It is all about which _commit_ contributed badness to the current
> codebase (i.e. "these commits are to be blamed for the current
> breakage that made us lose $XM") and it is up to the users how to
> interpret the story behind these found commits.  It often would not
> be the "fault" of the author alone, and striving for blameless
> culture is to find out what led to the mistakes in these commits.

I don't even think it's that all the time.  Sometimes I've used git
blame to find the author of a commit to ask them questions about a
comment or change later on, or to find a commit message or pull request
to understand why a change was made.

I'm almost always more interested in learning more about the rationale
or reasoning for a commit than blaming a particular user.  I have used
git blame in the past to find the _team_ that introduced a regression
for assigning bugs in triage when the cause is clear (since they'd have
the relevant context to understand the necessary change better), but
it's very uncommon that I actually use it in anger to blame to a
particular person.
-- 
brian m. carlson (he/him or they/them)
Toronto, Ontario, CA

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 263 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Let us not call it git blame
  2023-03-02 22:00 ` Let us not call it git blame Dinesh Dharmawardena
  2023-03-02 22:16   ` brian m. carlson
@ 2023-03-03  8:28   ` demerphq
  2023-03-03 18:28   ` Peter Hadlaw
                     ` (2 subsequent siblings)
  4 siblings, 0 replies; 10+ messages in thread
From: demerphq @ 2023-03-03  8:28 UTC (permalink / raw)
  To: Dinesh Dharmawardena; +Cc: git@vger.kernel.org

On Thu, 2 Mar 2023 at 23:21, Dinesh Dharmawardena <dinesh_dh@outlook.com> wrote:
>
> Hi
>
> I am writing to you to request that the term blame in git blame be replaced with something that does not sound so blameful. I’m an SRE and we actively try promote a blameless culture as such industry tooling should also follow suit imo. Progressively phasing this term out with a better alias would be great.

Just set up an alias that maps `git credit` to `git blame`, and you are done.

$ git config --global alias.credit blame

I dont think there is or ever will be much traction to rename this
command, it is short and self descriptive.

Blameless culture is great, but it is about "not finger pointing", not
about what tools you use. Your company's management and internal
culture keepers are more important for setting this tone than the
tools you use.  If they don't actually practice not finger pointing
then renaming the tool won't dont anything, and if they do actually
practice then the name of the tool won't matter either.

cheers,
Yves

-- 
perl -Mre=debug -e "/just|another|perl|hacker/"

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Let us not call it git blame
  2023-03-03  0:07       ` rsbecker
@ 2023-03-03  8:55         ` demerphq
  0 siblings, 0 replies; 10+ messages in thread
From: demerphq @ 2023-03-03  8:55 UTC (permalink / raw)
  To: rsbecker; +Cc: Junio C Hamano, brian m. carlson, Dinesh Dharmawardena, git

On Fri, 3 Mar 2023 at 02:24, <rsbecker@nexbridge.com> wrote:
> the core.user and core.email are associated with a nameless single sign on (SSO), or tokenized user, in order to be compliant from a regulatory standpoint. This includes GDPR in Europe and the Privacy Act in Canada. In these cases, there is no identifying information in the commit itself, but externally in the organization's HR and IT departments where identifying information is tightly controlled.

I wish git would make this a core feature.  I think it is one of the
few oversights in the core design of git that there isn't a built
indirection on author and committer data.  It should be possible to
"forget" an author or committer without having to rewrite the repo.
IMO, one day in the future this design deficiency will cause some very
expensive remedial work in the git space, and IMO it is only a
question of when, but sods law says it will be at some very
inconvenient time.

It really should be technically simple to remedy as well, replacing
author and committer data with a hash or ID which is used to indirect
into a file of author information that is *not* version controlled
would essentially solve it.  If someone wanted to change their name
they would update the file, if they wanted to be forgotten they could
simply delete that line from the file and push it.  While not a 100%
complete solution it would go a LONG way to address most people's
privacy concerns and other practical identity management concerns (eg,
"my email changed"). The .mailmap support is just a bandaid, it
doesn't actually address the core problem and in fact in some ways it
makes it worse. If git provided support for hooking the id lookups
then queries to resolve the ID or names could be made to a third party
software or service, like an open source service for the public, or an
internal service owned by HR in the corporate context. It isn't rocket
science, it just requires recognition that names are not static
identifiers.

cheers,
Yves

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Let us not call it git blame
  2023-03-02 22:00 ` Let us not call it git blame Dinesh Dharmawardena
  2023-03-02 22:16   ` brian m. carlson
  2023-03-03  8:28   ` demerphq
@ 2023-03-03 18:28   ` Peter Hadlaw
  2023-03-07 12:08   ` Ævar Arnfjörð Bjarmason
  2023-03-09 20:28   ` Elijah Lynn
  4 siblings, 0 replies; 10+ messages in thread
From: Peter Hadlaw @ 2023-03-03 18:28 UTC (permalink / raw)
  To: Dinesh Dharmawardena; +Cc: git@vger.kernel.org

End of Roman Empire vibes...

On Thu, Mar 2, 2023 at 4:03 PM Dinesh Dharmawardena
<dinesh_dh@outlook.com> wrote:
>
> Hi
>
> I am writing to you to request that the term blame in git blame be replaced with something that does not sound so blameful. I’m an SRE and we actively try promote a blameless culture as such industry tooling should also follow suit imo. Progressively phasing this term out with a better alias would be great.
>
> Cheers
> Dinesh
>
> Sent from my iPhone



-- 
Peter

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Let us not call it git blame
  2023-03-02 22:00 ` Let us not call it git blame Dinesh Dharmawardena
                     ` (2 preceding siblings ...)
  2023-03-03 18:28   ` Peter Hadlaw
@ 2023-03-07 12:08   ` Ævar Arnfjörð Bjarmason
  2023-03-09 20:28   ` Elijah Lynn
  4 siblings, 0 replies; 10+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2023-03-07 12:08 UTC (permalink / raw)
  To: Dinesh Dharmawardena; +Cc: git@vger.kernel.org


On Thu, Mar 02 2023, Dinesh Dharmawardena wrote:

> Hi
>
> I am writing to you to request that the term blame in git blame be
> replaced with something that does not sound so blameful. I’m an SRE
> and we actively try promote a blameless culture as such industry
> tooling should also follow suit imo. Progressively phasing this term
> out with a better alias would be great.

You might be interested in a patch I had to address this, posted a while
ago:
https://lore.kernel.org/git/20190401101246.21418-1-avarab@gmail.com/

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Let us not call it git blame
  2023-03-02 22:00 ` Let us not call it git blame Dinesh Dharmawardena
                     ` (3 preceding siblings ...)
  2023-03-07 12:08   ` Ævar Arnfjörð Bjarmason
@ 2023-03-09 20:28   ` Elijah Lynn
  4 siblings, 0 replies; 10+ messages in thread
From: Elijah Lynn @ 2023-03-09 20:28 UTC (permalink / raw)
  To: Dinesh Dharmawardena; +Cc: git@vger.kernel.org

I've thought about this a bit too. And I like the command `git tell`.

Elijah Lynn
www.elijahlynn.net

On Thu, Mar 2, 2023 at 2:02 PM Dinesh Dharmawardena
<dinesh_dh@outlook.com> wrote:
>
> Hi
>
> I am writing to you to request that the term blame in git blame be replaced with something that does not sound so blameful. I’m an SRE and we actively try promote a blameless culture as such industry tooling should also follow suit imo. Progressively phasing this term out with a better alias would be great.
>
> Cheers
> Dinesh
>
> Sent from my iPhone

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2023-03-09 20:29 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <SY6P282MB3782FD975E6F39951C5A43DA92B29@SY6P282MB3782.AUSP282.PROD.OUTLOOK.COM>
2023-03-02 22:00 ` Let us not call it git blame Dinesh Dharmawardena
2023-03-02 22:16   ` brian m. carlson
2023-03-02 23:47     ` Junio C Hamano
2023-03-03  0:07       ` rsbecker
2023-03-03  8:55         ` demerphq
2023-03-03  1:31       ` brian m. carlson
2023-03-03  8:28   ` demerphq
2023-03-03 18:28   ` Peter Hadlaw
2023-03-07 12:08   ` Ævar Arnfjörð Bjarmason
2023-03-09 20:28   ` Elijah Lynn

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).