def _merge_version(v1, v2):
    """
    Merge two software version. It return the merged one or None
    if the merge is not possible
    """
    v1 = v1.split('.')
    v2 = v2.split('.')
    min_len = len(v1) if len(v1) < len(v2) else len(v2)
    merged_version = []
    i = 0
    while i < min_len and v1[i] != 'x' and v2[i] != 'x':
        if v1[i] == v2[i]:
            merged_version.append(v1[i])
        else:
            return None
        i += 1
    if i < len(v1) and v1[i] == 'x':
        return '.'.join(merged_version + v2[i:])
    elif i < len(v2) and v2[i] == 'x':
        return '.'.join(merged_version + v1[i:])
    elif len(v1) != len(v2):
        return None
    else:
        return '.'.join(merged_version)
