code: def dereference_recursive(cls, repo, ref_path):
          
          while True:
              hexsha, ref_path = cls._get_ref_info(repo, ref_path)
              if hexsha is not None:
                  return hexsha
docs: :return: hexsha stored in the reference at the given ref_path, recursively dereferencing all
              intermediate references as required
          :param repo: the repository containing the reference at ref_path