Esempio n. 1
0
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])
Esempio n. 2
0
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([])
Esempio n. 3
0
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
            ])
Esempio n. 4
0
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([])