The Johnson Girls website attributes the first two verses & chorus to Isla St. Clair's grandmother, Madge Macdonald, from Lewis. Sounds right, since Isla sings it on her "Tattie & Herrin" album.
They credit David Kleiman with the third verse.
Hope this helps.