git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v3] git{,-blame}.el: remove old bitrotting Emacs code

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Mar 27, 2018, 16:57 UTC
Message-ID
<20180327165751.GA4343@aiede.svl.corp.google.com>
In-Reply-To
<20180310184545.16950-1-avarab@gmail.com>
Hi,
Ævar Arnfjörð Bjarmason wrote[1]:
Show 17 quoted lines
> The git-blame.el mode has been superseded by Emacs's own
> vc-annotate (invoked by C-x v g). Users of the git.el mode are now
> much better off using either Magit or the Git backend for Emacs's own
> VC mode.
>
> These modes were added over 10 years ago when Emacs's own Git support
> was much less mature, and there weren't other mature modes in the wild
> or shipped with Emacs itself.
>
> These days these modes have few if any users, and users of git aren't
> well served by us shipping these (some OS's install them alongside git
> by default, which is confusing and leads users astray).
>
> So let's remove these per Alexandre Julliard's message to the
> ML[1]. If someone still wants these for some reason they're better
> served by hosting these elsewhere (e.g. on ELPA), instead of us
> distributing them with git.

The trouble with removing these so abruptly is that it makes for a bad user experience.

  Warning (initialization): An error occurred while loading ‘/home/jrn/.emacs’:
  File error: Cannot open load file, No such file or directory, git

In some sense that is the distributor's fault: just because Git upstream stops removing the git.el file doesn't mean that the distributor needs to. But the same thing would happen if the user symlinked git.el into a place that emacs could find when using upstream Git directly. And we are putting the distributor in a bad place.

Ami Fischman (cc-ed) writes:
| IMO a placeholder git.el that did something like:
|
|   (error "git.el is no more; replace (require 'git) with (require 'magit) or
|   simply delete the former in your initialization file(s)")
|
| ideally with a pointer to a short URL explaining the rationale would have
| been fine.
| (note that though I've seen
| https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=893734 I'm _still_ unclear
| as to why the change was made; you might want to clarify in that bug and
| point to it from this, or something else)

What do you think? Would adding such a placeholder during a transitional period work well for you?

Thanks, Jonathan

[1] https://public-inbox.org/git/20180310184545.16950-1-avarab@gmail.com/
Previous: Ævar Arnfjörð BjarmasonNext: Ævar Arnfjörð Bjarmason
Message 2 of 7 in “git{,-blame}.el: remove old bitrotting Emacs code”
  1. git{,-blame}.el: remove old bitrotting Emacs codeÆvar Arnfjörð Bjarmason, Mar 10, 2018
  2. Jonathan NiederMar 27, 2018
  3. git{,-blame}.el: remove old bitrotting Emacs codeÆvar Arnfjörð Bjarmason, Apr 11, 2018
  4. Junio C HamanoApr 12, 2018
  5. Ævar Arnfjörð BjarmasonApr 12, 2018
  6. Junio C HamanoApr 12, 2018
  7. Todd ZullingerApr 18, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.