]> scripts.mit.edu Git - wizard.git/blobdiff - wizard/command/upgrade.py
Rewrite parametrize to use new parametrizeWithVars
[wizard.git] / wizard / command / upgrade.py
index 3f142517f11d069f1d125fef8356efe438c8c67c..39c73c9addb573e3283b9decef60758ffd02b2c8 100644 (file)
@@ -217,6 +217,16 @@ class Upgrade(object):
             self.mergeSaveState()
             self.mergePerform()
     def mergePreCommit(self):
+        def get_file_set(rev):
+            return set(shell.eval("git", "ls-tree", "-r", "--name-only", rev).split("\n"))
+        # add all files that are unversioned but would be replaced by the pull,
+        # and generate a new commit
+        old_files = get_file_set("HEAD")
+        new_files = get_file_set(self.version)
+        added_files = new_files - old_files
+        for f in added_files:
+            if os.path.exists(f):
+                shell.call("git", "add", f)
         message = "Pre-commit of %s locker before autoinstall upgrade.\n\n%s" % (util.get_dir_owner(), util.get_git_footer())
         try:
             message += "\nPre-commit-by: " + util.get_operator_git()