'Determine if ancestor_repository_dependencies is the same as or a subset of
current_repository_dependencies.'

def compare_repository_dependencies(self, ancestor_repository_dependencies, current_repository_dependencies):

    if (len(ancestor_repository_dependencies) <= len(current_repository_dependencies)):
        for ancestor_tup in ancestor_repository_dependencies:
            (a_tool_shed, a_repo_name, a_repo_owner, a_changeset_revision, a_prior_installation_required, a_only_if_compiling_contained_td) = ancestor_tup
            cleaned_a_tool_shed = common_util.remove_protocol_from_tool_shed_url(a_tool_shed)
            found_in_current = False
            for current_tup in current_repository_dependencies:
                (c_tool_shed, c_repo_name, c_repo_owner, c_changeset_revision, c_prior_installation_required, c_only_if_compiling_contained_td) = current_tup
                cleaned_c_tool_shed = common_util.remove_protocol_from_tool_shed_url(c_tool_shed)
                if ((cleaned_c_tool_shed == cleaned_a_tool_shed) and (c_repo_name == a_repo_name) and (c_repo_owner == a_repo_owner) and (c_changeset_revision == a_changeset_revision) and (util.string_as_bool(c_prior_installation_required) == util.string_as_bool(a_prior_installation_required)) and (util.string_as_bool(c_only_if_compiling_contained_td) == util.string_as_bool(a_only_if_compiling_contained_td))):
                    found_in_current = True
                    break
            if (not found_in_current):
                if (not self.different_revision_defines_tip_only_repository_dependency(ancestor_tup, current_repository_dependencies)):
                    return self.NOT_EQUAL_AND_NOT_SUBSET
                return self.SUBSET
        if (len(ancestor_repository_dependencies) == len(current_repository_dependencies)):
            return self.EQUAL
        else:
            return self.SUBSET
    return self.NOT_EQUAL_AND_NOT_SUBSET
