code: def pull_again(self, repo: Optional[str]=None, branch: Optional[str]=None) -> None:
          
          if repo is None and branch is None:
              self._current_hashes = {}
          elif repo is None:
              raise ValueError("You can't define just the branch to pull again.")
          elif branch is None and repo is not None:
              self._current_hashes.pop(self.repo_id(repo), None)
          else:
              repo_id = self.repo_id(repo)
              try:
                  self._current_hashes[repo_id].pop(branch)
              except KeyError:
                  pass
docs: When ``single_pull`` is enables, tells Arca to pull again.
  
          If ``repo`` and ``branch`` are not specified, pull again everything.
  
          :param repo: (Optional) Pull again all branches from a specified repository.
          :param branch: (Optional) When ``repo`` is specified, pull again only this branch from that repository.
  
          :raise ValueError: If ``branch`` is specified and ``repo`` is not.