Thread (2 messages) flat view 2 messages, 2 authors, 2016-06-15

Re: [PATCH] remote-hg: fix path when cloning with tilde expansion

From: Antoine Pelisse <hidden>
Date: 2016-06-15 22:58:23

On Fri, Aug 9, 2013 at 8:49 PM, Junio C Hamano [off-list ref] wrote:
Antoine Pelisse [off-list ref] writes:
quoted
On Mon, Aug 5, 2013 at 10:30 PM, Felipe Contreras [off-list ref] wrote:
quoted
Shouldn't that be the job of the shell? (s/~/$HOME/)
I'm not sure what you mean here. Does it mean that I should stop cloning using "~" ?
I think shells do not expand ~ when it appears in a string (e.g. hg::~/there);
you could work it around with

        git clone hg::$(echo ~/there)

and I suspect that is what Felipe is alluding to.  A tool (like
remote-hg bridge with this patch) that expands ~ in the middle of a
string also may be surprising to some people, especially to those
who know the shell does not.
It looks like mercurial will expand the tilde (it it starts with it):

   hg init \~

will create a $HOME/.hg. (while git init \~ will create ./~).

So when we run:

git clone hg::~/my/repo

Git will remove the "hg::" part, and Mercurial will expand tilde and
clone $HOME/my/repo.

So what should we do ? I think we should stick as close as possible to
Hg behavior:
That is consider that a path starting with tilde is absolute, and not
try to fix it by building /home/user/~/repo/path.
Of course if we could not depend on "I think Hg works like that", it
would be better if we could resolve that by asking Mercurial.
I will dig into it.
By the way, you earlier sent an updated 1/2; is this supposed to be
2/2 to conclude the two-patch series?
Those two patches don't interact with each other, but you can of
course join them if it makes it easier for you (and I don't think one
is going to have to go "faster" than the other anyway).
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help