Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Which version control system or platform is the best one for tracking and distributing personal Emacs configurations?

I currently use subversion to track my configuration changes of Emacs and to sync my '.emacs.d' directory to different platforms.

A lot of packages like Ido, Muse or Org-mode are part of Emacs distributions which come with Debian or Carbon Emacs (osx). But other packages which I'm also using are not part of those distributions so I have to add them to my personal subversion repository manually.

The advantage is that I'm now able to check out my whole '.emacs.d' configuration wherever I want to work. The disadvantage is that I have to track those packages for updates and every time a new update is available I have to update my own repository manually.

Is there is a better way to integrate my own configurations and packages with those of the 'community'? I realized that github.com is used by many people for that reason.

Should I better use git instead of subversion to sync and share my Emacs configurations with that of the community? And does that mean that I should better switch to github.com instead of using my own subversion server to get closer to other Emacs users regarding exchange and distribution?

like image 351
Achim Tromm Avatar asked Dec 06 '09 11:12

Achim Tromm


1 Answers

Every time you have to deal with some "distribution" issue, you could be better off considering a Distributed Version Control System (DVCS).

With Git, for instance, you could organize your packages as submodules within a main emacs configuration project, itself referenced as a submodule within your own project.

That way, you only need to

 git submodule update --recursive

once in a while to be sure getting the latest packages referenced by your central configuration project.
Note: the recursive initialization of those submodules is a bit tricky: see this SO question for more.

like image 102
VonC Avatar answered Oct 16 '22 08:10

VonC