unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Óscar Fuentes" <ofv@wanadoo.es>
To: emacs-devel@gnu.org
Subject: Re: On the adoption of transient.el
Date: Thu, 05 Aug 2021 16:45:29 +0200	[thread overview]
Message-ID: <87eeb8gdbq.fsf@telefonica.net> (raw)
In-Reply-To: 83lf5gjgtp.fsf@gnu.org

Eli Zaretskii <eliz@gnu.org> writes:

> I'm not sure we've used up the potential of "C-x v v" for Git.

The "C-x v v" workflow works for Git as far as you use Git as you use
CVS.

> I'd be interested to see a demonstration of how Magit makes doing some
> fancy Git job without searching the Internet for solutions.  But
> please take some really exotic job, not something semi-trivial.

AFAIK Magit is not advertised as a tool for doing exotic jobs without
prior knowledge. Magit is great at discoverability, ergonomics, and
user-friendliness. This means that the capabilities of the tool are
explicit, you operate the tool with a simple interface and the state you
are operating on is obvious. Compare this with writing commands on the
console (that you previously need to memorize) on a cycle of "see what I
got -> do some change -> see what I got". However, you still need to
know the basic concepts of Git to use Magit.

But I'll try answering your request with two examples. First one: as you
work on some feature you find and fix some typos here and there, or do
some other quick change not directly related to your initial task. You
end with those quick changes mixed with your main task. With Magit, it
is trivial to separately commit the changes: on the Magit status buffer
navigate to the fixed typos, select them as you select a region on
Emacs, press `s' and the selected change goes to the staging area. Do
the same for the rest and commit.

For the second example let's suppose that you implemented a complex
feature as a series of commits on a branch. Those commits reveal all the
gore details of your work: mistakes, backtracks, half-done subtasks,
etc. Things that the rest of the world care nothing about. With Magit
you can easily reorder, split, mix, rewrite, whatever, your commits.
Thanks to this you can end with a tidy series of commits, which are much
more adequate for the public consumption (suppossing that the public is
more interested on how the feature is implemented that on your personal
method of writing code.)

>> I do use other version control systems (especially SRC for single file
>> "projects") and so having the same key bindings regardless of VCS is
>> ideal for reducing friction.  This is where vc wins.
>
> Yes, and I think it could win more than it does now.  In general, the
> adaptation of VC to modern VCSes is IMO incomplete, and we could do
> much better.

I'm skeptical about this. VC works on some concepts that are hard to
reconciliate with modern VCSes (as long as you want to take advantage of
what those VCSes offer.) Also, please note that "modern VCSes" are not
an homogenous bunch, there are big differences among them, and those
differences will increase with the new wave of VCSes (see Pijul, for
instance.)




  reply	other threads:[~2021-08-05 14:45 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-03 21:13 On the adoption of transient.el Gabriel
2021-07-05 14:24 ` Philip Kaludercic
2021-07-05 16:09   ` Gabriel
2021-07-05 17:00     ` Stefan Monnier
2021-07-05 19:16       ` Lars Ingebrigtsen
2021-07-05 16:50   ` Yuri Khan
2021-07-05 17:06     ` Eli Zaretskii
2021-07-05 17:29       ` Yuri Khan
2021-07-05 17:49         ` Stefan Monnier
2021-07-05 18:09     ` Philip Kaludercic
2021-08-01 20:19       ` Rudolf Adamkovič
2021-08-01 21:08         ` T.V Raman
2021-08-01 21:24         ` Arthur Miller
2021-08-03 13:07           ` Jonas Bernoulli
2021-08-03 20:00             ` Arthur Miller
2021-08-14  3:17             ` Arthur Miller
2021-08-14 12:54               ` Óscar Fuentes
2021-08-14 20:45                 ` Arthur Miller
2021-08-15 21:57                 ` John Yates
2021-08-16  1:05                   ` Arthur Miller
2021-08-16  1:35                   ` Stefan Monnier
2021-08-16  2:36                     ` Arthur Miller
2021-08-01 21:25         ` Arthur Miller
2021-08-04 11:22         ` Philip Kaludercic
2021-08-04 15:56           ` Óscar Fuentes
2021-08-04 18:56           ` T.V Raman
2021-08-04 19:57             ` Jesse Millwood
2021-08-04 21:45               ` T.V Raman
2021-08-05  7:01                 ` Arthur Miller
2021-08-05  8:59                   ` Eric S Fraga
2021-08-05  9:23                     ` Tim Cross
2021-08-05 10:37                       ` Eric S Fraga
2021-08-05 11:01                         ` Eli Zaretskii
2021-08-05 14:45                           ` Óscar Fuentes [this message]
2021-08-05 16:17                             ` Eli Zaretskii
2021-08-05 23:17                               ` Juri Linkov
2021-08-06  6:11                                 ` Eli Zaretskii
2021-08-06  2:13                               ` Phil Sainty
2021-08-05 23:20                             ` Juri Linkov
2021-08-06 12:39                               ` John Yates
2021-08-06 14:42                                 ` Stefan Monnier
2021-08-06 17:20                                   ` Omar Polo
2021-08-10  7:22                                 ` Juri Linkov
2021-08-10 10:32                                   ` John Yates
2021-08-08  1:21                               ` Dmitry Gutov
2021-08-10  7:15                                 ` Juri Linkov
2021-08-10 12:40                                   ` Dmitry Gutov
2021-08-11  6:58                                     ` Juri Linkov
2021-08-13  3:06                                       ` Dmitry Gutov
2021-08-08  1:42                               ` Alfred M. Szmidt
2021-08-10  7:18                                 ` Juri Linkov
2021-08-10  8:16                                   ` Alfred M. Szmidt
2021-08-11  6:56                                     ` Juri Linkov
2021-08-05  9:38                     ` Arthur Miller
2021-08-05  9:51                       ` Jean-Christophe Helary
2021-08-05 14:33                     ` T.V Raman
2021-08-05 14:55                       ` Eric S Fraga
2021-08-05 15:05                       ` Arthur Miller
2021-08-06 23:02             ` Rudolf Adamkovič
2021-08-07  2:03               ` T.V Raman
2021-08-07  3:15               ` Phil Sainty
2021-08-07 10:19               ` Jonas Bernoulli
2021-08-07 15:42               ` T.V Raman
2021-07-05 19:51     ` Jim Porter
  -- strict thread matches above, loose matches on Subject: below --
2022-07-31  9:08 Manuel Uberti
2022-07-31 13:25 ` T.V Raman
2022-07-31 20:03 ` Juri Linkov
2022-08-21 16:04   ` Juri Linkov
2022-08-01  3:32 ` Richard Stallman

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: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87eeb8gdbq.fsf@telefonica.net \
    --to=ofv@wanadoo.es \
    --cc=emacs-devel@gnu.org \
    /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://git.savannah.gnu.org/cgit/emacs.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).