From b5919d7919dda614c3c3c76ba126f45e205494bd Mon Sep 17 00:00:00 2001
From: Dimitri John Ledkov <xnox@ubuntu.com>
Date: Mon, 29 Apr 2019 14:11:09 +0100
Subject: [PATCH 1/3] Add breezy python3 plugin
---
Makefile | 3 +++
debian/changelog | 6 ++++++
debian/control | 6 +++---
etckeeper-brz/__init__.py | 34 ++++++++++++++++++++++++++++++++++
4 files changed, 46 insertions(+), 3 deletions(-)
create mode 100644 etckeeper-brz/__init__.py
Index: etckeeper-1.18.10/etckeeper-brz/__init__.py
===================================================================
--- /dev/null
+++ etckeeper-1.18.10/etckeeper-brz/__init__.py
@@ -0,0 +1,34 @@
+#
+# Breezy plugin that runs etckeeper pre-commit when necessary
+
+"""Runs etckeeper pre-commit when necessary."""
+
+from breezy.errors import BzrError
+import os
+
+def etckeeper_startcommit_hook(tree):
+ 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
+ import subprocess
+ ret = subprocess.call(["etckeeper", "pre-commit", abspath(".")])
+ if ret != 0:
+ raise BzrError("etckeeper pre-commit failed")
+
+try:
+ from breezy.hooks import install_lazy_named_hook
+except ImportError:
+ from breezy.mutabletree import MutableTree
+ MutableTree.hooks.install_named_hook('start_commit',
+ etckeeper_startcommit_hook, 'etckeeper')
+else:
+ install_lazy_named_hook(
+ "breezy.mutabletree", "MutableTree.hooks",
+ 'start_commit', etckeeper_startcommit_hook, 'etckeeper')
+
+if __name__ == "__main__":
+ from distutils.core import setup
+ setup(name="brz-etckeeper",
+ packages=["breezy.plugins.etckeeper"],
+ package_dir={"breezy.plugins.etckeeper":"etckeeper-brz"})