> And shouldn't it be "knows [savait]" rather than connaisait?
No, connaître is the right word. If you took French class, you probably learned that you "savoir" a thing or skill and you "connaître" a person, but that's not the correct dichotomy. Instead, "savoir" is more for knowing concrete, particular facts, while "connaître" is a weaker, vaguer familiarity, almost more like "to know about" or "to know of" rather than "to know". In this usage, Vercingetorix isn't implied to have had these skills themselves but rather to know of them.