Thread (1 message) 1 message, 1 author, 2016-06-15

Re: [PATCH 5/5] git-daemon support for user-relative paths.

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

Andreas Ericsson [off-list ref] writes:
quoted
quoted
-static int upload(char *dir)
-{
-	/* Try paths in this order */
-	static const char *paths[] = { "%s", "%s/.git", "%s.git", "%s.git/.git", NULL };
...
quoted
Under strict-path, I think not doing any DWIM like this is fine,
but otherwise I suspect changing this would break existing
remotes/origin file people may have.  In addition enter_repo()
as posted does its own DWIM to chdir to ".git" unconditionally
as I pointed out...
DWIM? That's an acronym I don't know.
"Do what I mean".  It lets users say:

	git clone git://sample.xz/pub/uemacs uemacs

when the repository on the server side is at any of the
following places:

	/pub/uemacs

	-- a regular naked repository, with subdirectories
           /pub/uemacs/refs and /pub/uemacs/objects/, obviously.

        /pub/uemacs/.git

        -- /pub/uemacs is an ordinary repository with possibly a
           working tree; has /pub/uemacs/.git/refs and friends.

	/pub/uemacs.git

        -- when above two do not exist but this does; a regular
	   naked repository, with subdirectories
	   /pub/uemacs.git/refs and friends.

	/pub/uemacs.git/.git

        -- no /pub/uemacs, and /pub/uemacs.git is an ordinary
           repository with possibly a working tree; has
           /pub/uemacs.git/.git/refs and friends.

which is a nice feature, but under --strict-path we need to be
careful that we apply whitelist correctly while allowing DWIM.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help