rem: << "." << (int)f.revision_version << "." << (int)f.tag_version;
add: << "." << (int)f.revision_version;  if (f.id[1] != 0) identity << "." << (int)f.tag_version;
context: 	std::string lookup(fingerprint const& f)	{		std::stringstream identity;		const int size = sizeof(name_map)/sizeof(name_map[0]);		map_entry* i =			std::lower_bound(name_map, name_map + size				, f.id, &compare_first_string);#ifndef NDEBUG		for (int i = 1; i < size; ++i)		{			assert(compare_first_string(name_map[i-1]				, name_map[i].first));		}#endif		if (i < name_map + size && std::equal(f.id, f.id + 2, i->first))			identity << i->second;		else			identity << std::string(f.id, f.id + 2);		identity << " " << (int)f.major_version			<< "." << (int)f.minor_version			<< "." << (int)f.revision_version			<< "." << (int)f.tag_version;		return identity.str();	}