diff --git a/src/python/OBis/obis/dm/data_mgmt.py b/src/python/OBis/obis/dm/data_mgmt.py index 6899cbf6718d2771053a955e4a2aa4251917435e..a156969f84781443f959fb0fb8a34a49a9c7fa73 100644 --- a/src/python/OBis/obis/dm/data_mgmt.py +++ b/src/python/OBis/obis/dm/data_mgmt.py @@ -311,6 +311,7 @@ class GitDataMgmt(AbstractDataMgmt): self.git_wrapper.git_reset_to(self.previous_git_commit_hash) properties_path = self.config_resolver.local_public_properties_path() self.git_wrapper.git_checkout(properties_path) + self.git_wrapper.git_delete_if_untracked('.obis/properties.json') def clone(self, data_set_id, ssh_user, content_copy_index): try: diff --git a/src/python/OBis/obis/dm/git.py b/src/python/OBis/obis/dm/git.py index cdfea134597969b313553558271f58c6ed70a021..656f17af1ef16da58c94176bfbfd17ad562dc22e 100644 --- a/src/python/OBis/obis/dm/git.py +++ b/src/python/OBis/obis/dm/git.py @@ -86,6 +86,10 @@ class GitWrapper(object): gitignore.write(path) gitignore.write("\n") + def git_delete_if_untracked(self, file): + result = run_shell([self.git_path, 'ls-files', '--error-unmatch', file]) + if file in result.output: + run_shell(['rm', file]) class GitRepoFileInfo(object): """Class that gathers checksums and file lengths for all files in the repo."""