From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: VC's modeline Date: Tue, 09 Feb 2016 10:15:47 -0500 Message-ID: References: <20160208185311.9470.7389@vcs.savannah.gnu.org> <56B8F682.7040404@dancol.org> <83io1zosv7.fsf@gnu.org> <56B8FA6D.9070105@dancol.org> <87zivax3li.fsf@wanadoo.es> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1455030988 5150 80.91.229.3 (9 Feb 2016 15:16:28 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 9 Feb 2016 15:16:28 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Feb 09 16:16:19 2016 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1aTA1Z-0000UB-LJ for ged-emacs-devel@m.gmane.org; Tue, 09 Feb 2016 16:16:17 +0100 Original-Received: from localhost ([::1]:56947 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aTA1Y-0007OB-Tp for ged-emacs-devel@m.gmane.org; Tue, 09 Feb 2016 10:16:16 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:49943) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aTA1U-0007Ns-Lx for emacs-devel@gnu.org; Tue, 09 Feb 2016 10:16:13 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aTA1O-0002kr-Sk for emacs-devel@gnu.org; Tue, 09 Feb 2016 10:16:12 -0500 Original-Received: from plane.gmane.org ([80.91.229.3]:55403) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aTA1O-0002kf-MC for emacs-devel@gnu.org; Tue, 09 Feb 2016 10:16:06 -0500 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1aTA1G-0000Ah-33 for emacs-devel@gnu.org; Tue, 09 Feb 2016 16:15:58 +0100 Original-Received: from 23-91-146-32.cpe.pppoe.ca ([23.91.146.32]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 09 Feb 2016 16:15:58 +0100 Original-Received: from monnier by 23-91-146-32.cpe.pppoe.ca with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 09 Feb 2016 16:15:58 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 47 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: 23-91-146-32.cpe.pppoe.ca User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) Cancel-Lock: sha1:MI1L/vdNTgz/H84EN4SxFCco2qs= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 80.91.229.3 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:199600 Archived-At: >> What I think is wrong the level of detail expected in the status line. >> E.g. I think it'd be fine for VC to just display "Bzr" (or "Hg", or >> "Git", or what have you) instead. I think it'd even be fine to do that >> without checking whether the file is really under that VCS's control or >> not (i.e. without checking whether the file is ignored). IOW, a file >> opened in a directory with a ".git" somewhere in the parents could just >> say "Git", without any other check. > Saying that the file is on a directory that also has a .git (or .bzr, or > whatever) directory is almost meaningless. It indicates which backend would be used if the user wants to perform a VC operation. E.g. for non-managed files, it'd indicate which backend will be used for `C-x v i' (vc-register). > You don't know if the file is actually versioned, nor if it is edited, In my experience 99% of Emacs users have no idea that the ":" between the backend name and the "version info" means that the file is locally modified. Of the remaining 1%, some (at least me; and I presume I'm not the only one) never look at it and just use `C-x v =' to see what's changed. So this info is not of very high value. > nor the branch that is currently checked out (this last piece of > information is specially important on workflows that uses > colocated branches.) That's occasionally useful in Git, indeed. Luckily it's easy/cheap to obtain this info in Git. > Personally, I find having that information on the modeline a very worthy > investment. In practice, the only problem I experience is when working > on MS Windows, where calling git is much slower than on GNU/Linux and it > is annoying to wait until all buffers refreshes the VC info after some > operation with Magit. See, we do have a problem. I'm not opposed to having refined info available, but the current setup where this refined info is "indispensable" and always needs to be computed eagerly is problematic. We should arrange for those things to be computed more lazily (and maybe for that we need to change the UI so it's also *displayed* more lazily, e.g. only after the user does something). Stefan