def checkout_clean_branch(self, remote, branch):
    remote_branch = '/'.join((remote, branch))
    local_branch_name = GIT_GENERATED_PREFIX + remote_branch
    if local_branch_name in Package.get_git_branches(self.working_copy,
                                                     self.subprocess_runner):
      self.delete_git_branch(local_branch_name)
    self.subprocess_runner.check_call(
        ['git', 'checkout', '-b', local_branch_name, remote_branch],
        cwd=self.working_copy)
    self.subprocess_runner.check_call(['git', 'clean', '-dfx'],
                                      cwd=self.working_copy)
    self.subprocess_runner.check_call(['git', 'submodule', 'update', '--init',
                                       '--recursive'], cwd=self.working_copy)
Create a string identifier for the IvyModuleRef key.
dataset/ETHPy150Open google/fplutil/disttools/push_package.py/Package.checkout_clean_branch--crossover with--dataset/ETHPy150Open pantsbuild/pants/src/python/pants/backend/project_info/tasks/export.py/ExportTask._jar_id