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.
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