From 6e98a2dc667365633e47c63730feefc8d752886c Mon Sep 17 00:00:00 2001
From: Patrick Uiterwijk puiterwijk@redhat.com 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.
[1]: https://lists.fedoraproject.org/pipermail/infrastructure/2015-February/01560...
Signed-off-by: Patrick Uiterwijk puiterwijk@redhat.com --- 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 looks good
On 27 February 2015 at 16:48, Patrick Uiterwijk puiterwijk@gmail.com wrote:
From 6e98a2dc667365633e47c63730feefc8d752886c Mon Sep 17 00:00:00 2001 From: Patrick Uiterwijk puiterwijk@redhat.com 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@redhat.com
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@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/infrastructure
infrastructure@lists.fedoraproject.org