I believe the song to have been written by John Short 'Yankee Jack', who lived in a small village called Watchet in the county of Somerset in England. He got his name because he was on a ship that blockaded ships during the Amercian civil war. I also believe he wrote the song to Rio Grande.