You are not logged in.

#1 2009-01-01 12:30:33

archlinuxsagi
Member
Registered: 2008-09-12
Posts: 259

Placing ~ under version control : ignore mask

Hi.
I am thinking of placing my home directory under version control.

I understand there are threads in Arch and URLs on placing home under version control.
But i find placing everything in ~ will be a waste of space since files such as
web browser cache or icons changes constantly.

I would like to know what does my fellow Archers ~ .ignore files contains?
Any DVCS .ignore files are welcome.

Offline

#2 2009-01-01 16:48:11

steveklabnik
Member
Registered: 2009-01-01
Posts: 7
Website

Re: Placing ~ under version control : ignore mask

I've been thinking about doing this, too.

This seems to be a decent guide to how one guy uses SVN.

Personally, I use git... this has an example .gitignore.

Keep us updated on how it goes. I may just finally jump in and do it...

Offline

#3 2009-01-02 19:40:54

Dieter@be
Forum Fellow
From: Belgium
Registered: 2006-11-05
Posts: 2,001
Website

Re: Placing ~ under version control : ignore mask

steveklabnik wrote:

This seems to be a decent guide to how one guy uses SVN.

Yes, it's a useful guide, but it doesn't discuss the "which files to ignore" part.

I'm running my ~ in svn for already a while now, originally based on the ideas of the above article and some others.
And let me tell you: there are many, many applications who are not consistent, dump cachefiles etc in folders in your ~, or also store things like "last opened, last window size, last status on msn (pidgin)" into your *config* files etc.   many applications seem to honor freedesktop's xdg specs on first sight, but in reality it's seldomly the way it should be.


It's very hard to handle this, I have many ignore rules and I regulary do a `svn status ~` to update my ignore rules. I also have a script that svn reverts some known files.
For me this list currently is:

~/.common/.mplayer/* \
        ~/.common/xdg/.config/vlc/* \
        ~/.common/.purple-private/logs/msn/*/.system/ \
        ~/.common/xdg/.config/banshee-1 \
        ~/.common/xdg/.config/totem \
        ~/.gconf/apps/banshee-1 \
        ~/.gconf/apps/brasero \
        ~/.gconf/apps/compiz/general/allscreens/options/%gconf.xml \
        ~/.gconf/apps/evolution \
        ~/.gconf/apps/file-roller \
        ~/.gconf/apps/gedit-2 \
        ~/.gconf/apps/miro \
        ~/.gconf/apps/panel/applets/applet_0/prefs/%gconf.xml \
        ~/.gconf/apps/panel/applets/clock_screen0/prefs/%gconf.xml \
        ~/.gconf/apps/nautilus/preferences/%gconf.xml \
        ~/.gconf/apps/rhythmbox \
        ~/.gconf/apps/totem \
        ~/.gconf/apps/update-manager/%gconf.xml \
        ~/.gconf/desktop/gnome/font_rendering/%gconf.xml \
        ~/.gconf/desktop/gnome/peripherals/keyboard/ \
        ~/.gnome2/evince/ev-metadata.xml \
        ~/.gnome2/gedit-2 \
        ~/.gnome2/rhythmbox

When I used gnome this list was MUCH longer.  I am still in the process of getting rid of apps that misbehave badly (biggest offenders are gnome, gnome-do, tomboy, pidgin and for firefox and thunderbird I would even make a separate category: those directories are just filled with many (binary) files, impossible to manage.  I use separate rsync "repositories" for those)
See http://dieter.plaetinck.be/Im_done_with_gnome_and_gconf

Here are the outputs of:
svn propget svn:ignore -R ~

/home/dieter - .adobe*
.aptitude
.bashdb_hist
.cache
.cheat
.dbus
.deb-gview
.civclientrc
.dia
.dmenu_cache
.eclipse
.evolution
.fontconfig
.freeciv
.gem
.gimp*
.gcjwebplugin
.gksu*
.gnupg
.gpilotd*
.gstreamer*
.gtkpod
.gvfs*
.hplip
.icons
.ies4linux
.java
.kde
.macromedia*
.mcop
.metacity
.mozilla
.mozilla-thunderbird
.nautilus
.netxrc
.openoffice.org*
.pulse
.qt
.sane
.scim
.serverauth*
.solfege
.thumbnails
.thunderbird
.update-manager-core
.update-notifier*
.VirtualBox
.w3m
.wapi*
.wine
.xine
bin
eclipse-3.3*
scripts

.esd_auth
.ICEauthority
.mcoprc
.pulse-cookie
.recently-used*
.sudo_as_admin_successful
.tomboy.log
.Xauthority
.xsession-errors

.scrobby.log
scrobby.cache

*.pid

/home/dieter/.local/share/applications - *.desktop

/home/dieter/.etwolf/jaymod - *.dat
*.pk3
*.so
*.tmp

/home/dieter/.q3a - qkey
servercache.dat

/home/dieter/.etwolf/noquarter/profiles/Dieter_be - servercache.dat

/home/dieter/workspaces/eclipse - *

/home/dieter/pictures-buffer - *

/home/dieter/.etwolf/jaymod/profiles/Dieter_be - servercache.dat

/home/dieter/.etwolf/etpro - *.pk3
*.so
*.tmp

/home/dieter/audio-buffer - *

/home/dieter/.local/share - bashrun
vlc

/home/dieter/.etwolf/etpro/profiles/Dieter_be - servercache.dat

/home/dieter/workspaces/ardour - *

/home/dieter/.gconf/apps - procman

/home/dieter/.etwolf/pb - *.dat
*.db
*.so
*.tmp

/home/dieter/.miro - *

/home/dieter/audio-selection - *

/home/dieter/bin-blob - *

/home/dieter/.exaile/saved - playlist0000.m3u

/home/dieter/video-selection - *

/home/dieter/.etwolf/pb/dll - *.so

/home/dieter/.etwolf/etmain - etkey
*.dat
*.pk3
*.so
*.tmp

You can build up a similar list like this:
svn create a-place-for-your-home-in-svn
svn checkout a-place-for-your-home-in-svn ~
then do svn status ~, and you'll see lots of stuff. then go over everything and decide if you want it in svn or not. by adding it (non-recursively) or updating your ignore rules. that's how I am still building up my list.. all because of those damn programs who don't implement xdg cleanly

Last edited by Dieter@be (2009-01-02 19:47:30)


< Daenyth> and he works prolifically
4 8 15 16 23 42

Offline

#4 2009-01-03 00:31:35

archlinuxsagi
Member
Registered: 2008-09-12
Posts: 259

Re: Placing ~ under version control : ignore mask

Dieter@be.
Wow, a list you have.

Dieter@be wrote:

I also have a script that svn reverts some known files.

mmm. reverting? May I know what is the purpose of reverting your home files?

Offline

#5 2009-01-03 21:18:02

Dieter@be
Forum Fellow
From: Belgium
Registered: 2006-11-05
Posts: 2,001
Website

Re: Placing ~ under version control : ignore mask

archlinuxsagi wrote:
Dieter@be wrote:

I also have a script that svn reverts some known files.

mmm. reverting? May I know what is the purpose of reverting your home files?

The idea is very similar to adding ignore rules for those files after adding/committing them to svn.
Eg what I want is to have a config in svn, but not commit every change.  The advantage of reverting over just ignoring is keeping all your files in a known state.  Although I can perfectly imagine one wouldn't care about that.


< Daenyth> and he works prolifically
4 8 15 16 23 42

Offline

#6 2009-01-05 22:41:52

Mr.Elendig
#archlinux@freenode channel op
From: The intertubes
Registered: 2004-11-07
Posts: 4,094

Re: Placing ~ under version control : ignore mask

I have some of my ~ in git. I find it easier to add the files I want to the git repo, than to blacklist all those that I don't want.


Evil #archlinux@libera.chat channel op and general support dude.
. files on github, Screenshots, Random pics and the rest

Offline

#7 2009-01-06 19:44:26

Dieter@be
Forum Fellow
From: Belgium
Registered: 2006-11-05
Posts: 2,001
Website

Re: Placing ~ under version control : ignore mask

Mr.Elendig wrote:

I have some of my ~ in git. I find it easier to add the files I want to the git repo, than to blacklist all those that I don't want.

Of course, but don't you want the unimportant files to not show up in `git status` ?


< Daenyth> and he works prolifically
4 8 15 16 23 42

Offline

#8 2009-01-07 00:07:57

archlinuxsagi
Member
Registered: 2008-09-12
Posts: 259

Re: Placing ~ under version control : ignore mask

Dieter@be wrote:
Mr.Elendig wrote:

I have some of my ~ in git. I find it easier to add the files I want to the git repo, than to blacklist all those that I don't want.

Of course, but don't you want the unimportant files to not show up in `git status` ?

Yah.. And it will be more than one thousand for me..:D maybe he is just monitoring the modified flag.

Offline

Board footer

Powered by FluxBB