diff --git a/gitlib/gitlib.py b/gitlib/gitlib.py index c33e8ed..e768513 100755 --- a/gitlib/gitlib.py +++ b/gitlib/gitlib.py @@ -1213,6 +1213,8 @@ class OpengnsysGitLibrary: repo.config_writer().add_value("core", "filemode", "false").release() repo.config_writer().add_value("push", "autoSetupRemote", "true").release() repo.config_writer().add_value("maintenance", "autoDetach", "false").release() + repo.config_writer().add_value("push", "followTags", "true").release() + def initRepo(self, device, repo_name): """ @@ -1485,6 +1487,25 @@ class OpengnsysGitLibrary: self._restore_metadata(path, destructive_only=True) + def tag(self, path = None, device = None, tagName = None, commit = None, message = None): + """ + Create a tag in the repository + """ + + if path is None: + path = self.fs.ensure_mounted(device) + + self.logger.info("Creating tag %s pointing at %s", tagName, commit) + repo = git.Repo(path) + self._configure_repo(repo) + + if tagName in repo.tags: + self.logger.warning("Tag already existed") + return + + repo.create_tag(tagName, ref = commit, message = message) + + def restoreRepo(self, path): """ Restore the repository to the state it had before the non-committed modifications