Re: [RFC] GIT paths

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Re: [RFC] GIT paths

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:42:09

Andreas Ericsson [off-list ref] writes:
About the literally named /~junio directory, it would be possible with 
this syntax;

	git fetch host.xz:/~junio

The userdir is (with my previous patch) only expanded if the path starts 
with a tilde.
I do not necessarily consider that a feature; see next item.
It must remove the leading slash for this syntax:

	ssh://host.xz/~junio/repo

Otherwise it would be passed as /~junio/repo to the remote end and no 
~user interpolation would be done.
Not necessarily.  Having the remote end interpret "/~user" and
"~user" the same way might make things more consistent; in other
words, "http://host/~user" is not spelled "http://host~user".
I'd say make it invoke the programs with the canonicalized path. As you 
say, git-daemon has to verify that it's a proper git repo and in the 
whitelist anyway so I think it would be silly to add extra complexity to 
upload-pack and receive-pack.
Yeah, I tend to agree here.
quoted
 - Give --server-root=/path/to/root flag to programs...
If we stick with canonicalized paths I suppose this can be dropped.
Sounds good.

Re: [RFC] GIT paths

From: Andreas Ericsson <hidden>
Date: 2016-06-15 22:42:09

Junio C Hamano wrote:
Andreas Ericsson [off-list ref] writes:
quoted
The userdir is (with my previous patch) only expanded if the path starts 
with a tilde.

I do not necessarily consider that a feature; see next item.

quoted
It must remove the leading slash for this syntax:

ssh://host.xz/~junio/repo

Otherwise it would be passed as /~junio/repo to the remote end and no 
~user interpolation would be done.

Not necessarily.  Having the remote end interpret "/~user" and
"~user" the same way might make things more consistent;

Except that the shell interprets ~ and /~ differently, so "consistent" 
would depend on what we're consistent with.

There's also the fact that shell-scripts won't work on the remote end if 
  git_connect() maintains the leading slash. This doesn't matter at 
present, but I think it'd be better to keep all doors open. Having the 
trivial addendum on the client side also helps keeping the server-side 
nice and simple.
in other
words, "http://host/~user" is not spelled "http://host~user".
True. I meant for this to be invisible to the users ofcourse, with 
git_connect() having some snippet such as this.

if(use_ssh || use_git && (*path == '/' && *(path + 1) == '~')
	*path++ = '\0';
else
	copy_path();
quoted
I'd say make it invoke the programs with the canonicalized path. As you 
say, git-daemon has to verify that it's a proper git repo and in the 
whitelist anyway so I think it would be silly to add extra complexity to 
upload-pack and receive-pack.

Yeah, I tend to agree here.

quoted
quoted
- Give --server-root=/path/to/root flag to programs...
If we stick with canonicalized paths I suppose this can be dropped.

Sounds good.
I'll get busy then.

-- 
Andreas Ericsson                   andreas.ericsson@op5.se
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help