all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Dmitry Gutov <dgutov@yandex.ru>
To: Jonathan Ganc <jonganc@gmail.com>,
	npostavs@users.sourceforge.net, 26066@debbugs.gnu.org
Subject: bug#26066: 26.0.50; vc-git-status gives wrong result
Date: Wed, 22 Mar 2017 18:20:04 +0200	[thread overview]
Message-ID: <022c0e0a-e039-24ef-66ff-82bcedbacd93@yandex.ru> (raw)
In-Reply-To: <8530cd03-0158-f198-9b14-ade983e1c7f4@gmail.com>

On 21.03.2017 18:10, Jonathan Ganc wrote:

> Well, the ideal situation is if could get a listing like the one atom 
> has for projects, where you get a visual view of directories and can see 
> folders with changed files as well as the status of files (orangish 
> means modified, green means new, greyed means ignored):
> 
> http://imgur.com/a/PiiGF
> 
> Actually, emacs has something not so dissimilar in the Neotree package. 
> (Install it and use `(setq neo-vc-integration '(face char))` ). It has a 
> few shortcomings:
> 
> 1. Because of this bug, it was giving me the wrong status for files, 
> i.e. they showed up wrong. That is how I noticed the bug in the first 
> place.

I see, thanks. Neotree does have an optional feature that colors the 
tree leaves according to their VC statuses.

The problem might have gone unnoticed until now because file's status is 
cached, and because it can only be apparent if several projects are 
opened at the same time.

While the problem is fairly obvious, a proper fix would most likely 
touch other backends and commands, to the point that the 
default-directory binding might have to be done inside vc-call-backend.

There is a very simple workaround on the caller's side, though: bind 
default-directory inside the Neotree code, to the respective project 
root (or just the file's parent directory). That will be necessary 
anyway for it to work in the released Emacs versions.

> 2. I would like to be able to color directories as well as files. I 
> don't know if that is something that would have a component in vc-git.el 
> / vc-....el or would go entirely in some package (e.g. Neotree)

This differs from one version control system to another, but Git doesn't 
actually track directories. So the notion of "directory status" is 
poorly defined. But see the previously mentioned diff-hl-dired-mode.

> 3. It would be nice to be able to show mutiple directory trees at once 
> in Neotree, though this is not as important.

If it's unable to show the non-current projects, how is the bug 
triggered? default-directory would have to be outside of the project.





  parent reply	other threads:[~2017-03-22 16:20 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-12  2:42 bug#26066: 26.0.50; vc-git-status gives wrong result Jonathan Ganc
2017-03-14 13:45 ` npostavs
2017-03-16  0:42 ` npostavs
2017-03-16  0:48   ` Dmitry Gutov
2017-03-16  2:40     ` Jonathan Ganc
2017-03-21  9:19       ` Dmitry Gutov
2017-03-21 16:10         ` Jonathan Ganc
2017-03-22 12:11           ` Michael Heerdegen
2017-03-22 16:20           ` Dmitry Gutov [this message]
2017-03-23  2:18             ` Jonathan Ganc
2017-03-31  3:16               ` Jonathan Ganc
2017-04-10  2:16                 ` Jonathan Ganc
2017-04-10  2:58                 ` npostavs
2017-04-10  3:26                 ` Dmitry Gutov
2017-04-10  4:41                   ` Jonathan Ganc
2017-04-10  6:05                     ` Eli Zaretskii
2017-04-10  7:35                     ` Thien-Thi Nguyen
2017-04-10 23:46                     ` Dmitry Gutov
2017-04-10  4:43                   ` Jonathan Ganc
2017-04-10 23:26                     ` Dmitry Gutov
2017-04-11  0:07               ` Dmitry Gutov
2017-04-11  3:52                 ` Jonathan Ganc
2017-04-11 13:08                   ` Jonathan Ganc
2017-04-11 23:27                     ` Dmitry Gutov
2017-04-11 23:36                       ` Dmitry Gutov
2017-04-14  0:42                       ` Jonathan Ganc
2017-04-23 18:21                         ` Jonathan Ganc
2017-04-23 22:28                           ` Noam Postavsky
2017-04-23 22:45                             ` Stefan Monnier
2017-04-24  0:50                             ` Jonathan Ganc
2017-04-24  9:20                               ` Andreas Schwab
2017-04-25 15:38                                 ` Jonathan Ganc
2017-04-25 23:49                                   ` Dmitry Gutov
2017-04-26  3:18                                     ` Jonathan Ganc
2017-05-01  1:43                                       ` Dmitry Gutov
2019-06-24 23:01                                         ` Lars Ingebrigtsen
2020-08-10 15:05                                           ` Lars Ingebrigtsen
2017-05-01  1:57                         ` Dmitry Gutov
2017-05-01 19:22                           ` Jonathan Ganc
2017-05-01 19:42                             ` Eli Zaretskii
2017-05-01 22:13                             ` Dmitry Gutov
2017-03-18  2:38     ` Jonathan Ganc

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=022c0e0a-e039-24ef-66ff-82bcedbacd93@yandex.ru \
    --to=dgutov@yandex.ru \
    --cc=26066@debbugs.gnu.org \
    --cc=jonganc@gmail.com \
    --cc=npostavs@users.sourceforge.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.