Exemple #1
0
def get_skip_ranges(patchset):
    """Returns all skip range names"""
    return {
        ref.split("/")[-2]
        for ref in git.get_refs_with_prefix(
            f"refs/bisect/break/{patchset_identifier(patchset)}/markers")
    }
Exemple #2
0
def get_good_commits():
    """Returns all refs that are marked as good."""
    good_refs = []
    for ref in git.get_refs_with_prefix("refs/bisect"):
        parts = ref.split("/")
        if len(parts) == 3 and parts[2].startswith("good-"):
            good_refs.append(ref)
    return good_refs
Exemple #3
0
def read_patchset():
    """Reats the current (i.e. longest) patchset from the refs"""
    patchset_refs = git.get_refs_with_prefix("refs/bisect/patchset")
    if len(patchset_refs) == 0:
        return []
    patchset_identifiers = [ref.split("/")[3:-1] for ref in patchset_refs]
    longest_idx = np.argmax([len(ps) for ps in patchset_identifiers])
    patchset = patchset_identifiers[longest_idx]
    return patchset
Exemple #4
0
def get_skip_range_commits(patchset):
    """Returns all refs that are marked with some skip range."""
    return git.get_refs_with_prefix(
        f"refs/bisect/break/{patchset_identifier(patchset)}/markers")
Exemple #5
0
def clear_refs_with_prefix(prefix):
    """Remove all refs that belong to a skip range"""
    for ref in git.get_refs_with_prefix(prefix):
        git.delete_ref(ref)
Exemple #6
0
def get_named_skip_refs(name, patchset):
    """Returns all commits that are marked with the skip range `name`."""
    return git.get_refs_with_prefix(
        f"refs/bisect/break/{patchset_identifier(patchset)}/markers/{name}")