diff bitten/upgrades.py @ 860:ac28bc3feb2a

Refuse to create log folder during database upgrade if the folder already exists. The existence of such a folder is an indication that a previous attempt to migrate the logs into files has failed and that the folder should be removed before continuing. See #462 for further discussion.
author hodgestar
date Sun, 17 Oct 2010 23:20:44 +0000
parents f606ee47b8ca
children 14010fa88b4b
line wrap: on
line diff
--- a/bitten/upgrades.py
+++ b/bitten/upgrades.py
@@ -432,8 +432,14 @@
     logs_dir = env.config.get("bitten", "logs_dir", "log/bitten")
     if not os.path.isabs(logs_dir):
         logs_dir = os.path.join(env.path, logs_dir)
-    if not os.path.exists(logs_dir):
-        os.makedirs(logs_dir)
+
+    if os.path.exists(logs_dir):
+        print "Bitten log folder %r already exists" % (logs_dir,)
+        print "Upgrade cannot be performed until the existing folder is moved."
+        print "The upgrade script will now exit with an error:\n"
+        raise TracError("")
+
+    os.makedirs(logs_dir)
 
     cursor = db.cursor()
     message_cursor = db.cursor()
Copyright (C) 2012-2017 Edgewall Software