You are not logged in.
Pages: 1
Hey folks!
I'm curious as to how one could put ones home directory into version control, to quote Codemac;
I keep my ~ in mercurial, so all files are checked in and versioned. [...] I highly suggest you put your $HOME into version control. It's real fun to see what your home directory looked like 3 years ago
I once used Subversion under Mac OS X to download a random project just for kicks, but had no idea what it was all about really. I understand that a version control system assists (manually or automatically?) in labeling files/data/"units" with version numbers, and storing the data as well? I've also seen that a number of users here use Git, another version control system, to label and share their various configuration files. Where is the data stored? On a server belonging to someone else or on ones own computer?
I found a Wikipedia article on the topic, although Subversion isn't named there, so I may be wrong on that one.
Is there a CVS that is small in size and amount of features and easy to get the grasp of?
Thanks in advance.
Credit to KiwiesRuleXD @ DeviantArt for the avatar.
Offline
Well, I would not recommend it, however, if you're a frequently moving person without a laptop, and feel the need to synchronize your ~ at home and/or at work. However, doing your entire home will give you too much files (at least, if your home looks even remotely like mine), and it'll be a bitch.
Version control works simple, at least, the way subversion works at least (The only one I've got decent experience with).
You need a repository somewhere, preferably on a server accessible to you everywhere.
That server may well be your own computer, if it's online all the time and such.
However, it's an interesting idea.
My coding blog (or an attempt at it)
Archer start page (or an attempt at it)
Offline
I'm having my ~ under version control now for a while (I am using git - the decision to do so was mainly motivated by my desire to learn git). However, I don't track every file in my ~. Just the configuration files (.bashrc, .bash_logout, .zshrc, .awesomerc, vim ... etc. etc.) and some docs (though I keep them in a different private repository). I'd recommend that if you plan to put your ~ under a VCS that you should think about what you plan to track and what not first. It certainly means some additional work, because you have to remember to commit changes back into your repository every time you change a tracked file. Of course you can perform a commit on every logout, but if you want to revert/restore a single file, it's better to track changes in files individually. As I see it, the main idea of keeping your ~ in a VCS system is to have a backup from where you can restore a single file to every point in time you want, or to revert uncommited changes which broke sth. in an instant. So, IMHO it doesn't make that much sense to have the repository on your laptop only, but also to have a remote repository (in case your HD dies). For me, it's also a nice way to keep my home directory in sync over multiple machines.
As for the decision on which particular VCS to use. I first tried to do that a year ago using svn, and it didn't work out that well - for some reason I don't like svn - but that doesn't mean that svn is bad - it could be right for you
. Darcs is an easy to learn VCS but it lacks some features like branches and the like (which you may not need in this szenario anyway). I don't know much about Bazaar or Mercurial, because I've never used them, however from what I've read, these two are very popular choices nowadays (maybe someone with some experience with those can shed some more light
). Also, you have to chose the VCS according to what you like to track, because they differ in performance and the extra storage they need to keep track of the changes (I read a good article which compared all named VCSs regarding repository/metadata size in differrent szenarios, small files only, big files only etc. etc. - but unfortunately I can't find it atm).
Offline
(I read a good article which compared all named VCSs regarding repository/metadata size in differrent szenarios, small files only, big files only etc. etc. - but unfortunately I can't find it atm).
Do you mean this one?
http://joshcarter.com/productivity/svn_ … _directory
Offline
Do you mean this one?
http://joshcarter.com/productivity/svn_ … _directory
Yeah, that's the one I've meant
.
Offline
chimeric wrote:(I read a good article which compared all named VCSs regarding repository/metadata size in differrent szenarios, small files only, big files only etc. etc. - but unfortunately I can't find it atm).
Do you mean this one?
http://joshcarter.com/productivity/svn_ … _directory
That is a very well written and insightful article, thank you for the link. I'll go check out both Mercurial and GIT and see for myself which one I like the most.
Credit to KiwiesRuleXD @ DeviantArt for the avatar.
Offline
Personally I recommend git, but both are good. Git is just the best, hands down.
[git] | [AURpkgs] | [arch-games]
Offline
try gibak:
http://aur.archlinux.org/packages.php?ID=18318
it's basicaly git with support for binary files.
vlad
Offline
git isn't the best for having your ~ in, since it don't track files and permissions.
Evil #archlinux@freenode channel op and general support dude.
. files on github, Screenshots, Random pics and the rest
Offline
Personally, I have always found Joey Hess's "Keeping $HOME in subversion" interesting:
http://kitenet.net/~joey/svnhome/
EDIT:
From the last paragraph: "I actually keep most of my home directory in git now. Go figure. :-)"
Last edited by Cosay (2008-09-10 00:15:41)
Offline
I am thinking about doing the same, i.e. sharing ~ (dotfiles specifically+virtualbox disk images) among more computers. it would also be nice to have a backup of /etc/ across multiple machines. so basically, there is the possibility to use some revision control system (which one?), or use rsync along with some custom scripts, next thing I found is unison (http://www.cis.upenn.edu/~bcpierce/unison/) not sure about this one thou. It seems that for the virtualbox images, rsync would fit best (as you don't want multiple versions of a 10GiB file everywhere), but for config files, some versioning would be nice. I think I will try it with rsync first and see how it works. I am thinking like making a sychronisation script that could be added to post-up/pre-down in netcfg config...
is anyone of you guys using something similar for either /home/ or /etc/?
Offline
I've had mine under git for a while.
[git] | [AURpkgs] | [arch-games]
Offline
I have recently started storing all of my data (not config files) in a subversion repository. Previously I was using unison to synchronise my two computers, but annoyingly it won't work over my collages proxy server due to SSH being blocked. SVN however does work because it can be used over HTTPS and its version controled, ferther reducing the chance of lusing something.
One problem I have had with SVN is it storing 2 copies of everything in the working copy, making them unnesoserraly large. Are there any version control systems which only store a single copy of every file in a working copy, but also only store the history on the server and work over HTTPS. I don't want local copies of the repository on my laptop due to limited disk space.
Last edited by Hessiess (2009-04-18 17:25:00)
Offline
Pages: 1