Avoid use of etckeeper pre-commit on Trees not on the filesystem. master
authorJelmer Vernooij <jelmer@samba.org>
Sat, 31 Jan 2009 22:37:18 +0000 (23:37 +0100)
committerJelmer Vernooij <jelmer@samba.org>
Sat, 31 Jan 2009 22:37:18 +0000 (23:37 +0100)
etckeeper-bzr/__init__.py

index 54d160d757473039c7ec276ac0a1b9218285a9ec..3cf06db526eb3c818ea04623a32698c7d0c18652 100755 (executable)
@@ -13,10 +13,11 @@ if not (hasattr(MutableTree, "hooks") and "start_commit" in MutableTree.hooks):
     raise "Version of Bazaar installed does not support required hooks."
 
 def etckeeper_startcommit_hook(tree):
-    if not os.path.exists(tree.abspath(".etckeeper")):
+    abspath = getattr(tree, "abspath", None)
+    if abspath is None or not os.path.exists(abspath(".etckeeper")):
         # Only run the commit hook when this is an etckeeper branch
         return
-    ret = subprocess.call(["etckeeper", "pre-commit", tree.abspath(".")])
+    ret = subprocess.call(["etckeeper", "pre-commit", abspath(".")])
     if ret != 0:
         raise BzrError("etckeeper pre-commit failed")