From 6e98a2dc667365633e47c63730feefc8d752886c Mon Sep 17 00:00:00 2001
From: Patrick Uiterwijk <puiterwijk@xxxxxxxxxx>
Date: Fri, 27 Feb 2015 23:39:59 +0000
Subject: [PATCH] Fix setup_git_package to handle setting up after gitolite setup a broken repo
setup_git_package did the same check as pkgdb_sync did [1].
Also, if gitolite already came by, it will have created an update hook, which blocks us from pushing the initial commit (since gitolite has no idea who we are).
So in that case, we will just remove the update hook: gitolite will recreate it when it comes by the repo with genacls.sh.
The change to mkdir -p is just syntax to make it not print an error in case the directory already existed.
Signed-off-by: Patrick Uiterwijk <puiterwijk@xxxxxxxxxx>
---
roles/distgit/files/setup_git_package | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/roles/distgit/files/setup_git_package b/roles/distgit/files/setup_git_package
index b22b31f..67103ec 100644
--- a/roles/distgit/files/setup_git_package
+++ b/roles/distgit/files/setup_git_package
@@ -68,11 +68,17 @@ fi
# Sanity checks before we start doing damage
[ $VERBOSE -gt 1 ] && echo "Checking package $PACKAGE..."
-if [ -d $GITROOT/$PACKAGE.git ] ; then
+if [ -f $GITROOT/$PACKAGE.git/refs/heads/master ] ; then
echo "ERROR: Package module $PACKAGE already exists!" >&2
exit -1
fi
+# A cleanup in case gitolite came by this repo
+if [ -f $GITROOT/$PACKAGE.git/hooks/update ] ; then
+ echo "Gitolite already initialized this repo. Will remove its hooks"
+ rm -f $GITROOT/$PACKAGE.git/hooks/update
+fi
+
# "global" permissions check
if [ ! -w $GITROOT ] ; then
echo "ERROR: You can not write to $GITROOT"
@@ -85,7 +91,7 @@ fi
TMPDIR=$(mktemp -d /tmp/tmpXXXXXX)
# First create the master repo
-mkdir $GITROOT/$PACKAGE.git
+mkdir -p $GITROOT/$PACKAGE.git
pushd $GITROOT/$PACKAGE.git >/dev/null
git init -q --shared --bare
echo "$PACKAGE" > description # This is used to figure out who to send mail to.
--
1.7.2.1
_______________________________________________ infrastructure mailing list infrastructure@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/infrastructure