From: Dmitry Gutov <dgutov@yandex.ru>
To: Juri Linkov <juri@linkov.net>, 42145@debbugs.gnu.org
Subject: bug#42145: vc-git file order mismatch between vc-dir and vc-diff
Date: Wed, 1 Jul 2020 01:08:04 +0300 [thread overview]
Message-ID: <fbcbcdb9-391d-50ed-8fb4-6c1b832639bb@yandex.ru> (raw)
In-Reply-To: <87bll048br.fsf@mail.linkov.net>
On 30.06.2020 23:57, Juri Linkov wrote:
> There is an old usability problem in vc-dir.
>
> Typing ‘=’ in a vc-dir buffer displays a vc-diff buffer where files are
> sorted by different order than files are sorted in the vc-dir buffer.
vc-dir has its own presentation logic, it's pretty complex.
'git diff' has a '-O' argument, which accepts <orderfile>. Maybe it'll
help, but I kind of doubt that. Ideas welcome.
> For example, there is a need to commit only part of changes.
> To decide what files should be marked in the vc-dir buffer,
> a convenient way is to browse diffs in the vc-diff buffer
> one by one and mark corresponding files in the vc-dir buffer.
> But since these file lists are in different order, the task
> becomes a major hassle because vc-diff doesn't distinguish
> between files and directories while sorting them by name,
> but vc-dir puts directories at the end after files.
Here's a bigger feature I've wanted to see in VC for a while: commit
from a diff.
There is a third-party package: https://github.com/caldwell/commit-patch
But it implements some of its logic in Perl, and the message buffer it
creates is non-standard. I'd really like to see it ported to VC.
The idea is, you open a diff, maybe split some of the hunks, kill the
ones you don't need (diff-mode supports all these operations), and then
commit the remaining ones, from multiple files, if needed. Seems like a
good replacement for 'git add -p' for Emacs power users.
next prev parent reply other threads:[~2020-06-30 22:08 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-30 20:57 bug#42145: vc-git file order mismatch between vc-dir and vc-diff Juri Linkov
2020-06-30 22:08 ` Dmitry Gutov [this message]
2020-07-01 21:44 ` Juri Linkov
2020-07-01 22:44 ` Dmitry Gutov
2021-03-30 19:23 ` Juri Linkov
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=fbcbcdb9-391d-50ed-8fb4-6c1b832639bb@yandex.ru \
--to=dgutov@yandex.ru \
--cc=42145@debbugs.gnu.org \
--cc=juri@linkov.net \
/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).