Take care of 2 cases: file and dir separately so that it is easier to operate on directories recursively, comments altered
Take care of the directories - permissions etc done recursively, use rsync as much as possible