def ensure_tracking_branches(args): """Ensures that the tracking branches are set up""" man = load_manifest() for (name, project) in man.projects.iteritems(): repo = GitRepo(workdir_for_project(project)) branch_missing = repo.command( ["rev-parse", "--verify", "-q", project.refspec], capture_stdout=True) if branch_missing: logging.warn("Branch %s does not exist in project %s. checking out." % (project.refspec, name)) repo.command(["branch", "--track", project.tracking_branch, project.remote_refspec])
def init(args): """Initializes repository""" man = load_manifest() for (name, project) in man.projects.iteritems(): logging.warn("Initializing project: %s" % name) clone_remote = man.remotes[project.from_remote] clone_url = clone_remote.fetch % name p = GitCommand( None, ["clone", "-o", project.from_remote, "-n", clone_url, project.dir]) p.Wait() repo = GitRepo(workdir_for_project(project)) if repo.command(["show-ref", "-q", "HEAD"]) != 0: # There is no HEAD (maybe origin/master doesnt exist) so check out the tracking # branch repo.check_command([ "checkout", "--track", "-b", project.tracking_branch, project.remote_refspec ]) else: repo.check_command(["checkout"]) ensure_remotes([]) fetch([]) checkout_branches([])
def ensure_tracking_branches(args): """Ensures that the tracking branches are set up""" man = load_manifest() for (name, project) in man.projects.iteritems(): repo = GitRepo(workdir_for_project(project)) branch_missing = repo.command( ["rev-parse", "--verify", "-q", project.refspec], capture_stdout=True) if branch_missing: logging.warn( "Branch %s does not exist in project %s. checking out." % (project.refspec, name)) repo.command([ "branch", "--track", project.tracking_branch, project.remote_refspec ])
def init(args): """Initializes repository""" man = load_manifest() for (name, project) in man.projects.iteritems(): logging.warn("Initializing project: %s" % name) clone_remote = man.remotes[project.from_remote] clone_url = clone_remote.fetch % name p = GitCommand(None, ["clone", "-o", project.from_remote, "-n", clone_url, project.dir]) p.Wait() repo = GitRepo(workdir_for_project(project)) if repo.command(["show-ref", "-q", "HEAD"]) != 0: # There is no HEAD (maybe origin/master doesnt exist) so check out the tracking # branch repo.check_command(["checkout", "--track", "-b", project.tracking_branch, project.remote_refspec]) else: repo.check_command(["checkout"]) ensure_remotes([]) fetch([]) checkout_branches([])