all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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.





  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

* 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 external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.