git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Elijah Newren <newren@gmail.com>
To: "Michal Suchánek" <msuchanek@suse.de>
Cc: "Jacob Keller" <jacob.keller@gmail.com>,
	"Philip Oakley" <philipoakley@iee.email>,
	"Hilco Wijbenga" <hilco.wijbenga@gmail.com>,
	"Phillip Susi" <phill@thesusis.net>,
	"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>,
	"Stephen Finucane" <stephen@that.guru>,
	"Git Users" <git@vger.kernel.org>
Subject: Re: Feature request: provide a persistent IDs on a commit
Date: Sat, 23 Jul 2022 22:23:09 -0700	[thread overview]
Message-ID: <CABPp-BEYQOtr6EZmi4emKRKNVXS3071Ud90jiLycdGXGG+YqgQ@mail.gmail.com> (raw)
In-Reply-To: <20220723070055.GE17705@kitsune.suse.cz>

On Sat, Jul 23, 2022 at 12:44 AM Michal Suchánek <msuchanek@suse.de> wrote:
>
> On Fri, Jul 22, 2022 at 03:46:22PM -0700, Jacob Keller wrote:
> > On Fri, Jul 22, 2022 at 1:42 PM Michal Suchánek <msuchanek@suse.de> wrote:
> > >
> > > On Fri, Jul 22, 2022 at 09:08:56PM +0100, Philip Oakley wrote:
[...]
> > > > Part of the rename problem is that there can be many different routes to
> > > > the same result, and often the route used isn't the one 'specified' by
> > > > those who wish a complicated rename process to have happened 'their
> > > > way', plus people forget to record what they actually did. Attempting to
> > > > capture what happened still results major gaps in the record.
> > >
> > > Doesn't git have rebase?
> > >
> > > It is not required that the rename is captured perfectly every time so
> > > long as it can be amended later.
> > >
> >
> > Rebase is typically reserved only to modify commits which are not yet
> > "permanent". Once a commit starts being referenced by many others it
> > becomes more and more difficult to rebase it. Any rebase effectively
> > creates a new commit.
> >
> > There are multiple threads discussing renames and handling them in git
> > in the past which are worth re-reading, including at least
> >
> > https://public-inbox.org/git/Pine.LNX.4.58.0504141102430.7211@ppc970.osdl.org/
> >
> > A fuller analysis here too:
> > https://public-inbox.org/git/Pine.LNX.4.64.0510221251330.10477@g5.osdl.org/
> >
> > As mentioned above in this thread, depending on what context you are
> > using, a change to a commit could be many to many: i.e. a commit which
> > splits into 2, or 3 commits merging into one, or 3 commits splitting
> > apart and then becoming 2 commits. When that happens, what "change id"
> > do you use for each commit?
>
> Same as commit message and any trailers you might have - they are
> preserved, concatenated

Exactly how are they concatenated?  Is that a user operation, or
something a Git command does automatically?  Which commands and which
circumstances?  If users do it, what's the UI for them to discover
what the fields are, for them to discover whether such a thing might
be needed or beneficial, and the UI for them to change these fields?
This sounds like a massive UX/UI issue that I don't have a clue how to
tackle (assuming I wanted to).

> and can be regenerated.

"can be".  But generally won't be even when it should be, right?

Committer name/email/date basically don't even exist as far as many
Git users are concerned.  They aren't shown in the default log output
(which greatly saddens me), and even after attempting to educate users
for well over a decade now, I still routinely find developers who are
surprised that these things exist.

Given that committer name/email/date aren't shown with --pretty=full
but with the lame option name --pretty=fuller, I can't see why it'd
make any sense to show Change-Ids in the log output by default.

But if it's not shown -- and by default -- then it doesn't exist for
many users.  And if it doesn't exist, users aren't going to fix it
when they need to.

(Even if it were shown by default, it's not clear to me that users
would know when to fix it, or how to fix it, or even care to fix it
and instead view it as a pedantic requirement being foisted on them.)

I think the "many-to-many issue" others have raised in this thread is
an important, big, and thorny problem.  I think it has the potential
to be a minefield of UX and a steady stream of bug reports.  And
seeing proponents of Change-Id just dismissing the issue makes me all
the more suspicious of the proposal in the first place.

  reply	other threads:[~2022-07-24  5:23 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-18 17:18 Feature request: provide a persistent IDs on a commit Stephen Finucane
2022-07-18 17:35 ` Konstantin Ryabitsev
2022-07-18 19:04   ` Michal Suchánek
2022-07-19 10:57     ` Stephen Finucane
2022-07-18 21:24   ` Glen Choo
2022-07-20 19:21     ` Konstantin Ryabitsev
2022-07-20 19:30       ` Michal Suchánek
2022-07-20 22:10       ` Theodore Ts'o
2022-07-21 11:57         ` Han-Wen Nienhuys
2022-07-24  5:09     ` Elijah Newren
2022-07-18 18:50 ` Ævar Arnfjörð Bjarmason
2022-07-19 10:47   ` Stephen Finucane
2022-07-19 11:09     ` Ævar Arnfjörð Bjarmason
2022-07-19 11:57       ` Michal Suchánek
2022-07-29 12:11       ` Stephen Finucane
2022-07-29 12:40         ` Jason Pyeron
2022-07-21 16:18   ` Phillip Susi
2022-07-21 18:58     ` Hilco Wijbenga
2022-07-22 20:08       ` Philip Oakley
2022-07-22 20:36         ` Michal Suchánek
2022-07-22 22:46           ` Jacob Keller
2022-07-23  7:00             ` Michal Suchánek
2022-07-24  5:23               ` Elijah Newren [this message]
2022-07-24  8:54                 ` Michal Suchánek
2022-07-25 21:47                 ` Jacob Keller
2022-07-26  3:49                   ` Elijah Newren
2022-07-26  8:43                     ` Michal Suchánek
2022-07-24  5:10           ` Elijah Newren
2022-07-24  8:59             ` Michal Suchánek

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=CABPp-BEYQOtr6EZmi4emKRKNVXS3071Ud90jiLycdGXGG+YqgQ@mail.gmail.com \
    --to=newren@gmail.com \
    --cc=avarab@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=hilco.wijbenga@gmail.com \
    --cc=jacob.keller@gmail.com \
    --cc=msuchanek@suse.de \
    --cc=philipoakley@iee.email \
    --cc=phill@thesusis.net \
    --cc=stephen@that.guru \
    /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).