Module: check_mk
Branch: master
Commit: 0da2a6f721da8496a2132ec45f9f154f1479f89e
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=0da2a6f721da84…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Mon Feb 15 13:28:09 2016 +0100
#3062 FIX Git integration: Fixed not adding files in WATO folders to git control
---
.werks/3062 | 10 ++++++++++
ChangeLog | 1 +
web/htdocs/watolib.py | 38 ++++++++++++++++++++++++--------------
3 files changed, 35 insertions(+), 14 deletions(-)
diff --git a/.werks/3062 b/.werks/3062
new file mode 100644
index 0000000..faf5e02
--- /dev/null
+++ b/.werks/3062
@@ -0,0 +1,10 @@
+Title: Git integration: Fixed not adding files in WATO folders to git control
+Level: 1
+Component: wato
+Class: fix
+Compatible: compat
+State: unknown
+Version: 1.2.9i1
+Date: 1455539260
+
+
diff --git a/ChangeLog b/ChangeLog
index 567caee..9330266 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -13,6 +13,7 @@
WATO:
* 3060 FIX: Folder properties: Fixed exception when a user has no alias set...
+ * 3062 FIX: Git integration: Fixed not adding files in WATO folders to git control
Event Console:
* 3058 FIX: Event Console is now allowing non loadable MIB modules on startup...
diff --git a/web/htdocs/watolib.py b/web/htdocs/watolib.py
index 7753c29..da601a7 100644
--- a/web/htdocs/watolib.py
+++ b/web/htdocs/watolib.py
@@ -4247,25 +4247,13 @@ def do_git_commit():
git_command(["config", "user.email", "check_mk"])
git_command(["config", "user.name", "check_mk"])
- # Make sure that .gitignore-files are present and uptodate
- file(defaults.default_config_dir + "/.gitignore",
"w").write(
- "*\n"
- "!*.d\n"
- "!.gitignore\n"
- "*swp\n"
- "*.mk.new\n")
- for subdir in os.listdir(defaults.default_config_dir):
- if subdir.endswith(".d"):
- file(defaults.default_config_dir + "/" + subdir +
"/.gitignore", "w").write(
- "*\n"
- "!wato\n"
- "!wato/*\n")
+ write_gitignore_files()
git_command(["add", ".gitignore", "*.d/wato"])
git_command(["commit", "--untracked-files=no",
"--author", author, "-m", shell_quote(_("Initialized GIT for
Check_MK"))])
# Only commit, if something is changed
- if os.popen("cd '%s' && git status --untracked-files=no
--porcelain" % defaults.default_config_dir).read().strip():
+ if os.popen("cd '%s' && git status --porcelain" %
defaults.default_config_dir).read().strip():
git_command(["add", "*.d/wato"])
message = ", ".join(g_git_messages)
if not message:
@@ -4273,6 +4261,28 @@ def do_git_commit():
git_command(["commit", "--author", author, "-m",
shell_quote(message)])
+# Make sure that .gitignore-files are present and uptodate. Only files below the
"wato" directories
+# should be under git control. The files in etc/check_mk/*.mk should not be put under
control.
+#
+# FIXME TODO: Should also be written on regular commits to make it possible to update the
files
+def write_gitignore_files():
+ file(defaults.default_config_dir + "/.gitignore", "w").write(
+ "*\n"
+ "!*.d\n"
+ "!.gitignore\n"
+ "*swp\n"
+ "*.mk.new\n")
+
+ for subdir in os.listdir(defaults.default_config_dir):
+ if subdir.endswith(".d"):
+ file(defaults.default_config_dir + "/" + subdir +
"/.gitignore", "w").write(
+ "*\n"
+ "!wato\n")
+
+ if os.path.exists(defaults.default_config_dir + "/" + subdir +
"/wato"):
+ file(defaults.default_config_dir + "/" + subdir +
"/wato/.gitignore", "w").write("!*\n")
+
+
# Make sure that the user is in all of cgs contact groups.
# This is needed when the user assigns contact groups to
# objects. He may only assign such groups he is member himself.