X-Git-Url: https://scripts.mit.edu/gitweb/wizard.git/blobdiff_plain/1f784d0c4a740a898115f08f66c062ef8c5a0e83..6554c6378a6e801b4fe47c50688cdae1d627bc18:/wizard/command/upgrade.py?ds=sidebyside diff --git a/wizard/command/upgrade.py b/wizard/command/upgrade.py index 3f14251..39c73c9 100644 --- a/wizard/command/upgrade.py +++ b/wizard/command/upgrade.py @@ -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()