X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=module-tools.py;h=127249764ba59374ee5bcc0d32af2345a9aff232;hb=6cfa4066f86629ea89c86826f998f18d0e0a095d;hp=a6a7961007d076331c1c348dd781258268c097c3;hpb=f9ec8978a061fc13dfcf9679de031b8d6e2ed24e;p=build.git diff --git a/module-tools.py b/module-tools.py index a6a79610..12724976 100755 --- a/module-tools.py +++ b/module-tools.py @@ -12,7 +12,13 @@ from optparse import OptionParser # a map of name changes applied in git repositories. RENAMED_SVN_MODULES = { "PLEWWW": "plewww", - "PLCAPI": "plcapi" + "PLCAPI": "plcapi", + "BootManager": "bootmanager", + "BootCD": "bootcd", + "VserverReference": "vserverreference", + "BootstrapFS": "bootstrapfs", + "MyPLC": "myplc", + "NodeManager": "nodemanager" } def svn_to_git_name(module): @@ -184,7 +190,7 @@ class SvnRepository: url = "%s/tags/%s" % (self.repo_root(), tagname) return SvnRepository.remote_exists(url) - def update(self, subdir="", recursive=True): + def update(self, subdir="", recursive=True, branch=None): path = os.path.join(self.path, subdir) if recursive: svncommand = "svn up %s" % path @@ -290,10 +296,14 @@ class GitRepository: else: return self.__run_in_repo(c.run_fatal) - def update(self, subdir=None, recursive=None): + def update(self, subdir=None, recursive=None, branch="master"): + if branch == "master": + self.__run_command_in_repo("git checkout %s" % branch) + else: + self.__run_command_in_repo("git checkout origin/%s" % branch) 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/master") + self.__run_command_in_repo("git merge --ff origin/%s" % branch) def to_branch(self, branch, remote=True): if remote: @@ -356,11 +366,9 @@ class Repository: @classmethod def has_moved_to_git(cls, module, config): module = git_to_svn_name(module) - ret = SvnRepository.remote_exists("%s/%s/aaaa-has-moved-to-git" % (config['svnpath'], module)) - if not ret: - # check if the module is already in Git - return GitRepository.remote_exists(Module.git_remote_dir(module)) - return ret + # check if the module is already in Git +# return SvnRepository.remote_exists("%s/%s/aaaa-has-moved-to-git" % (config['svnpath'], module)) + return GitRepository.remote_exists(Module.git_remote_dir(module)) @classmethod @@ -621,7 +629,13 @@ that for other purposes than tagging""" % options.workdir return if self.options.verbose: print 'Updating', self.module_dir - self.repository.update() + + if hasattr(self,'branch'): + self.repository.update(branch=self.branch) + elif hasattr(self,'tagname'): + self.repository.update(branch=self.tagname) + else: + self.repository.update() def main_specname (self): attempt="%s/%s.spec"%(self.module_dir,self.name)