Subject: Re: bug#23436: [PATCH] Attemp to use the true name of a file to determine responsible vc if the genuine name does not work.

From: Eli Zaretskii <[email-masked]>
Date: Thu, 20 Oct 2016 09:58:13 +0300

> From: Hong Xu <[email-masked]>
> Date: Wed, 19 Oct 2016 17:16:58 -0700
> 
> >>>> +        (dolist (file-path (list file (file-truename file)))
> >>>
> >>> Why not just use the true name?
> >>
> >> Because sometimes we track symlinks specifically. The symlink files may
> >> link to a file in a different repo, for example a git submodule.
> > 
> > I'm not sure I understand. Please outline a problem scenario.
> 
> mkdir my-repo && cd my-repo
> hg init
> git clone git://git.savannah.gnu.org/emacs.git
> ln -s  emacs/README README_emacs
> hg add README_emacs
> 
> README_emacs is tracked in the repo "my-repo" but README is tracked in
> the emacs repo. If true name is directly used, we would fail to obtain
> the correct responsible backend.

What is the correct backend in this case?  You seem to assume it's the
one that maintains the symlink, but why is that assumption true?

The backend is determined for certain operations.  Did you make sure
all of them will indeed want the backend of my-repo and not the other
one.

And what is the semantics of such a situation, anyway?