From: Ciaran Gultnieks Date: Fri, 17 Jun 2011 07:32:17 +0000 (+0100) Subject: Clean up working directory properly when building multiple versions X-Git-Tag: 0.1~1361 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=79326c50e9240f4e830e577b932959607de61253;p=fdroidserver.git Clean up working directory properly when building multiple versions --- diff --git a/build.py b/build.py index 9a27a792..a65f7097 100755 --- a/build.py +++ b/build.py @@ -161,11 +161,17 @@ for app in apps: cwd=build_dir) != 0: print "Git reset failed" sys.exit(1) + if subprocess.call(['git', 'clean', '-dfx'], + cwd=build_dir) != 0: + print "Git clean failed" + sys.exit(1) elif app['repotype'] == 'svn': - for svncommand in (['svn', 'update', '--force', - '-r', thisbuild['commit']], - ['svn', 'revert', '-R', '.']): - if subprocess.call(svncommand, cwd=build_dir) != 0: + for svncommand in ( + 'svn revert -R .', + r"svn status | awk '/\?/ {print $2}' | xargs rm -rf", + 'svn update --force -r '+thisbuild['commit'],): + if subprocess.call(svncommand, cwd=build_dir, + shell=True) != 0: print "Svn update failed" sys.exit(1) elif app['repotype'] == 'hg': @@ -173,11 +179,19 @@ for app in apps: cwd=build_dir) != 0: print "Hg checkout failed" sys.exit(1) + if subprocess.call('hg status -u -0 | xargs rm -rf', + cwd=build_dir, shell=True) != 0: + print "Hg clean failed" + sys.exit(1) elif app['repotype'] == 'bzr': if subprocess.call(['bzr', 'revert', '-r', thisbuild['commit']], cwd=build_dir) != 0: print "Bzr revert failed" sys.exit(1) + if subprocess.call(['bzr', 'clean-tree', '--unknown', '--ignored'], + cwd=build_dir) != 0: + print "Bzr revert failed" + sys.exit(1) else: print "Invalid repo type " + app['repotype'] sys.exit(1)