Mexican partisans held San Diego for three weeks until October 24, 1846, when the Americans recaptured it.
How many weeks did Mexican partisans hold San Diego before it was recaptured by Americans?
three weeks