git-serve.py: Use virtual paths

Pretend that all repositories are located in the root directory of the
file system to achieve location transparency.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
This commit is contained in:
Lukas Fleischer 2014-12-28 15:37:07 +01:00
parent 332d0f61e4
commit 00e6e4a182

View file

@ -89,7 +89,7 @@ cmdargv = shlex.split(cmd)
action = cmdargv[0]
if action == 'git-upload-pack' or action == 'git-receive-pack':
path = cmdargv[1]
path = repo_base_path.rstrip('/') + cmdargv[1]
if not repo_path_validate(path):
die('invalid path: %s' % (path))
pkgbase = repo_path_get_pkgbase(path)
@ -99,6 +99,7 @@ if action == 'git-upload-pack' or action == 'git-receive-pack':
os.environ["AUR_USER"] = user
os.environ["AUR_GIT_DIR"] = path
os.environ["AUR_PKGBASE"] = pkgbase
cmd = action + " '" + path + "'"
os.execl(git_shell_cmd, git_shell_cmd, '-c', cmd)
elif action == 'setup-repo':
if len(cmdargv) < 2: