At the Los Angeles Perl Mongers meeting in September, I saw Nate Jones present his Perl-powered configuration-management software, dfm ("Dot File Manager"?). I'm currently using it on several boxes: it is great software. :)
I tried to develop this sort of solution myself (App::Git::HomeSync), but it was quite the opposite approach since I wanted to embrace CPAN dependencies, whereas one of Nate's goals is to avoid them, for ultimate installation simplicity. If I approached the problem again, I would use the new Git module that I have since discovered on the CPAN.
Anyway, in a Windows environment, Cygwin (with Git installed) allows dfm to be used easily. If you have local Windows installs of GVim or GNU Emacs, then you can use your Cygwin config files in your Windows config files like so:
" Load configuration and plugins from the POSIX environment (Cygwin) source C:\cygwin\home\tommy.stanton\.dotfiles\.vimrc set runtimepath+=C:\cygwin\home\tommy.stanton\.dotfiles\.vim " *** Windows overrides *** set guifont=Consolas:h14:cANSI
;; Simply load the init file from the POSIX environment (Cygwin) (load-file "c:/cygwin/home/tommy.stanton/.dotfiles/.emacs")