>> But it would be good to preserve the VCS history of the file, if possible.
>
> I don't think that's practical (maybe some VCS will support this well at
> some point, but currently I think it'd be too much hassle for too little
> benefit).

Since ELPA is VCS by git and we have an Emacs git clone, it's not
difficult. I tried that in my local repo and successfully merged the full
history of crisp.el from Emacs to ELPA. The only inconvenience is that we'll
need to apply "--follow" argument when doing "git log crisp.el " to be able
to see the full history of crisp.el. Otherwise "git log crisp.el" only shows
the one that I move it into "packages/crisp-mode".

Basically I followed the steps described in StackOverflow, with some extra
steps I successfully merging the full history of crisp.el *ONLY*. The original
flow is discussed here: "http://stackoverflow.com/questions/1365541/
how-to-move-files-from-one-git-repo-to-another-not-a-clone-preserving-history"

If it's okay with all of you, I'll commit the full history of crisp.el into ELPA, and
also keep it in Emacs obsolete.