'Parses output of bzr tags, eg:
0.1.0                171
0.1.1                173
0.1.2                174
0.2.0-pre-alpha      177
Can\'t forget about poorly formatted tags or tags that lack revisions,
such as:
3.3.0-rc1            ?
tag with spaces      123'

def parse_tags(self, data):

    if (not isinstance(data, str)):
        data = str(data)
    squashed_data = re.sub('    +', '    ', data)
    raw_tags = csv.reader(StringIO(squashed_data), delimiter='    ')
    vcs_tags = []
    for row in raw_tags:
        name = '    '.join(row[:(-1)])
        commit = row[(-1)]
        if (commit != '?'):
            vcs_tags.append(VCSVersion(self, commit, name))
    return vcs_tags
