all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Dmitry Gutov <dgutov@yandex.ru>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: 21383-done@debbugs.gnu.org, Jonathan H <pythonnut@gmail.com>
Subject: bug#21383: Static revisions in vc-working-revision
Date: Sat, 5 Sep 2015 06:08:32 +0300	[thread overview]
Message-ID: <55EA5CB0.9070007@yandex.ru> (raw)
In-Reply-To: <jwvmvx3j5ir.fsf-monnier+emacsbugs@gnu.org>

On 09/04/2015 05:20 AM, Stefan Monnier wrote:

> So I don't think we can drop the FILE argument, but we can make it
> clear that it's OK to ignore it and use default-directory instead.

That, by itself, would be an easy change to make. In the docs.

> That's why I'm suggesting to pass FILE as a relative file-name.
> It is slightly delicate, tho, since the vc-root for default-directory
> may actually be different from the vc-root for (expand-file-name
> <relativename>).

My problem with that is passing a relative file-name doesn't help any 
backend, in any way: if the file-name is relative to the current 
default-directory, vc-git-* will continue behaving exactly the same, 
whether default-directory is the root, or simply the current directory.

If the file-name is relative to some other directory that the current 
(from vc-git's standpoint) default-directory, then vc-git operations 
will simply fail. Either way, the onus is on vc-working-revision and 
other generic functions to bind default-directory. And as long as 
default-directory is right, the file-names might as well stay absolute.

> I don't think we should impose a constraint that default-directory is
> vc-root.  So, backends like Git may still have to find the vc-root
> from the default-directory (tho in many cases, the underlying executable
> will do that for us).

If default-directory is outside of $git_repo, passing a path to a file 
inside it to 'git status' doesn't work. So someone still needs to bind 
default-directory to somewhere inside it.

However - this looks like the easiest solution - binding it to 
(file-name-directory file) should work well enough for backends with 
either type of revision granularity. At least as long as the backend 
program can be called in any subdirectory of the repository.





  reply	other threads:[~2015-09-05  3:08 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-31  0:45 bug#21383: Static revisions in vc-working-revision Jonathan H
2015-08-31  4:45 ` Stefan Monnier
2015-08-31  8:47   ` Dmitry Gutov
2015-08-31 17:44     ` Stefan Monnier
2015-09-01  2:11       ` Dmitry Gutov
2015-09-01  3:55         ` Stefan Monnier
2015-09-01 12:05           ` Dmitry Gutov
2015-09-01 15:45             ` Stefan Monnier
2015-09-01 15:54               ` Dmitry Gutov
2015-09-01 16:52                 ` Stefan Monnier
2015-09-01 17:23                   ` Dmitry Gutov
2015-09-02  3:50                     ` Stefan Monnier
2015-09-02 10:49                       ` Dmitry Gutov
2015-09-02 22:44                         ` Jonathan H
2015-09-03 12:56                           ` Dmitry Gutov
2015-09-03 16:17                             ` Stefan Monnier
2015-09-03 17:34                               ` Jonathan H
2015-09-03 18:40                                 ` Dmitry Gutov
2015-09-03 20:07                                   ` Stefan Monnier
2015-09-03 22:32                                     ` Dmitry Gutov
2015-09-04 14:36                                       ` Stefan Monnier
2015-09-05  2:30                                         ` Dmitry Gutov
2015-09-03 16:04                         ` Stefan Monnier
2015-09-03 19:24                           ` Dmitry Gutov
2015-09-04  2:20                             ` Stefan Monnier
2015-09-05  3:08                               ` Dmitry Gutov [this message]
2015-09-05 15:12                                 ` Stefan Monnier
2015-09-05 20:30                                   ` Dmitry Gutov
2015-09-06 22:29                                     ` Stefan Monnier
2015-09-07 20:55                                       ` Using different default-directory and relative paths in VC, Was: Re: bug#21383 Dmitry Gutov
2015-09-07 22:33                                         ` Stefan Monnier
2015-09-07 23:29                                           ` Dmitry Gutov
2015-09-07 23:34                                             ` Dmitry Gutov
2015-09-08  1:31                                             ` Stefan Monnier

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=55EA5CB0.9070007@yandex.ru \
    --to=dgutov@yandex.ru \
    --cc=21383-done@debbugs.gnu.org \
    --cc=monnier@iro.umontreal.ca \
    --cc=pythonnut@gmail.com \
    /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.