From 0e8e818267015159d947f88229025ec86de5a5cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Tue, 20 Dec 2011 07:39:07 +0100 Subject: [PATCH] Clean up non-bare checkout before updating. Fixes: https://bugs.gentoo.org/show_bug.cgi?id=395247 --- eclass/git-2.eclass | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/eclass/git-2.eclass b/eclass/git-2.eclass index f1ed79f..4f0b65b 100644 --- a/eclass/git-2.eclass +++ b/eclass/git-2.eclass @@ -344,6 +344,8 @@ git-2_update_repo() { if [[ ${EGIT_LOCAL_NONBARE} ]]; then # checkout master branch and drop all other local branches git checkout ${EGIT_MASTER} || die "${FUNCNAME}: can't checkout master branch ${EGIT_MASTER}" + git clean -d -f -x || die "${FUNCNAME}: failed to clean checkout dir" + for x in $(git branch | grep -v "* ${EGIT_MASTER}" | tr '\n' ' '); do debug-print "${FUNCNAME}: git branch -D ${x}" git branch -D ${x} > /dev/null -- 1.7.8.167.g57526.dirty