>> 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.