X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=module-tools.py;h=f14da959509c2d49442e312f2e8a930c66c81f86;hb=dd0280a87c9d7cdc4bac3aeb29ff966bd3e1af68;hp=907fe3d6e75deb7f04e78b676b58e7273c8d2e16;hpb=6075fe7bc031c565a60ef77dc51fe97459d23622;p=build.git diff --git a/module-tools.py b/module-tools.py index 907fe3d6..f14da959 100755 --- a/module-tools.py +++ b/module-tools.py @@ -19,7 +19,8 @@ RENAMED_SVN_MODULES = { "BootstrapFS": "bootstrapfs", "MyPLC": "myplc", "CoDemux": "codemux", - "NodeManager": "nodemanager" + "NodeManager": "nodemanager", + "NodeUpdate": "nodeupdate" } def svn_to_git_name(module): @@ -301,17 +302,21 @@ class GitRepository: if branch == "master": self.__run_command_in_repo("git checkout %s" % branch) else: - self.__run_command_in_repo("git checkout origin/%s" % branch) + self.to_branch(branch, remote=True) self.__run_command_in_repo("git fetch origin --tags") self.__run_command_in_repo("git fetch origin") self.__run_command_in_repo("git merge --ff origin/%s" % branch) def to_branch(self, branch, remote=True): + self.revert() if remote: - branch = "origin/%s" % branch + command = "git branch --track %s origin/%s" % (branch, branch) + c = Command(command, self.options) + self.__run_in_repo(c.output_of, with_stderr=True) return self.__run_command_in_repo("git checkout %s" % branch) def to_tag(self, tag): + self.revert() return self.__run_command_in_repo("git checkout %s" % tag) def tag(self, tagname, logfile): @@ -326,11 +331,14 @@ class GitRepository: c = Command("git diff %s" % tagname, self.options) return self.__run_in_repo(c.output_of, with_stderr=True) - def commit(self, logfile): + def commit(self, logfile, branch="master"): self.__run_command_in_repo("git add .", ignore_errors=True) self.__run_command_in_repo("git add -u", ignore_errors=True) self.__run_command_in_repo("git commit -F %s" % logfile, ignore_errors=True) - self.__run_command_in_repo("git push") + if branch == "master": + self.__run_command_in_repo("git push") + else: + self.__run_command_in_repo("git push origin %s:%s" % (branch, branch)) self.__run_command_in_repo("git push --tags") def revert(self, f=""): @@ -996,7 +1004,10 @@ n: move to next file"""%locals() print self.repository.diff() def commit_all_changes(log): - self.repository.commit(log) + if hasattr(self,'branch'): + self.repository.commit(log, branch=self.branch) + else: + self.repository.commit(log) build.commit(log) self.run_prompt("Review module and build", diff_all_changes)