[aur-dev] [PATCH] git-serve.py: Use virtual paths

Lukas Fleischer archlinux at cryptocrack.de
Sun Dec 28 14:44:14 UTC 2014


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

Signed-off-by: Lukas Fleischer <archlinux at cryptocrack.de>
---
 scripts/git-integration/git-serve.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/scripts/git-integration/git-serve.py b/scripts/git-integration/git-serve.py
index 0cad176..1dec6b4 100755
--- a/scripts/git-integration/git-serve.py
+++ b/scripts/git-integration/git-serve.py
@@ -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:
-- 
2.2.1


More information about the aur-dev mailing list