summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xpost-receive-mirror-github20
1 files 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 ():