~/.kde и Subversion

Настройки моего рабочего стола живут в Subversion'е. Цвета, шрифты, обои на рабочем столе, почтовые фильтры и задачи в органайзере — всё это сохраняется наравне с «обычными» текстовыми файлами и офисными документами. Как следствие, я могу иметь одну и ту же рабочую среду на разных машинах. Это не просто теория; я на практике несколько недель пользовался двумя разными десктопами с идентичными настройками.

Пришлось повозиться, конечно же. Основная проблема — определить, что действительно требуется синхронизировать, а что не нужно (кеш браузера, временные файлы и прочая ерунда). Вот этим опытом, пожалуй, я могу поделиться.

#!/bin/sh

for d in `find ~/.kde -type d -name .svn | xargs -L1 dirname`
do
	i=`svn pg svn:ignore $d | awk '{ print "<dd>" $1 "</dd>" }' | grep -v "<dd></dd>"`;
	xd=`echo $d | replace $HOME \~`
	[ "$i" ] && echo -e "<dt>$xd</dt>\n$i\n"
done

Этим скриптом я получаю список масок файлов, которые в данный момент игнорируются в моём каталоге настроек KDE. Всё остальное можно смело добавлять в репозитарий.

~/.kde
tmp-*
socket-*
cache-*
~/.kde/share/apps/konqueror
*.mine
*.bak
faviconrc
*history
*cache
~/.kde/share/apps/k3b
temp
*.log
~/.kde/share/apps/kcookiejar
cookies
~/.kde/share/apps/kdesktop
IconPositions
~/.kde/share/apps/kabc
*.new
*__*
lock
~/.kde/share/apps/kmail
unfiltered.*
autosave*
search
mail
imap
dimap
lock
~/.kde/share/apps/kmobiletools
*__*
~/.kde/share/apps/kontact
*~
~/.kde/share/apps/ksplash
cache
~/.kde/share/apps/klipper
history*
~/.kde/share/apps
noatun
khelpcenter
kcal
kpdf
kpilot
RecentDocuments
kthememanager
nsplugins
kconf_update
kab
~/.kde/share/apps/quanta
dtep
backups
~/.kde/share/apps/korganizer
docprefs.todolist.kconfig
~/.kde/share/apps/akregator
Archive
lock
~/.kde/share/apps/basket
temp*
~/.kde/share/apps/khtml
formcompletions
~/.kde/share/apps/kopete
logs
oscarpictures
metacontactpicturecache
jabberphotos
jabber-capabilities-cache.xml
*.bak
~/.kde/share/apps/amarok
moods
*save*
*cache
*.log*
xine-config
submit.xml
current.xml
transferlist.xml
albumcovers
undo
scripts-data
contextbrowser.html
collection_scan.files
collection.db
~/.kde/share/config
*.lock
korgacrc
kcmnspluginrc
startupconfigfiles
katepartluaindentscriptrc
kdiff3pluginrc
katesyntaxhighlightingrc
katepartindentjscriptrc
converterrc
gtkrc*
konq_history
noatunrc
*_updaterc
*_update
kpilot*
~/.kde/share/config/colors
Recent_Colors
~/.kde/share/config/session
*
~/.kde/share
mimelnk
© 1999–2012, Дмитрий КолесниковКарта сайта • Размещено на «Бункере»Valid XHTML & CSS