From c2fd4d7a17769d396f197ca26c1c6c1d10db5cbd Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Mon, 5 Dec 2016 15:20:15 +0000 Subject: post-receive-mirror-github: another nested repo fix This way we can handle namespaces with hyphens in them. --- post-receive-mirror-github | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/post-receive-mirror-github b/post-receive-mirror-github index c7e13c5..ad2bd99 100755 --- a/post-receive-mirror-github +++ b/post-receive-mirror-github @@ -100,15 +100,23 @@ class GitHub: return name def get_repo_name (): - repo_name = "".join(os.getcwd ().split("/git/")[1:]).replace('/','-') + repo_namespace = os.getcwd ().split("/")[-2] + + if repo_namespace == "git": + repo_namespace = None + + repo_parts = "".join(os.getcwd ().split("/git/")[1:]).split('/') + + if repo_namespace and repo_parts[1].startswith(repo_namespace + '-'): + repo_parts[1] = repo_parts[1].replace(repo_namespace + '-', '', 1) + elif repo_namespace and repo_parts[1] == repo_namespace: + repo_parts.remove(repo_parts[1]) + + repo_name = "-".join(repo_parts) + if repo_name.endswith(".git"): repo_name = repo_name[0:-4] - parts = repo_name.split("-") - while len(parts) >= 2 and parts[0] == parts[1]: - parts.remove(parts[0]) - repo_name = "-".join(parts) - return repo_name def main (): -- cgit v1.2.3