One-liner that I use almost daily when working with source files (put it on separate lines for readablity):


find . -type f -not -regex '.*/.svn/*.*'
-exec grep -Hn --colour 'SEARCH_STRING '{}' \;

You see, when you need to find some string within source files, and you don’t want to see duplicates coming from .svn folders, this one-liner does the trick – .svn directories are ignored from search.

, ,

В случае когда определенные файлы/каталоги не должны попадать под контроль версий, достаточно установить свойство svn:ignore:

svn propset svn:ignore *.pyc dirname

В случае если такое свойство уже существует:

svn propedit svn:ignore dirname

Например, на UMapper‘е для игнорирования авто-сгенеренных CAPTCHA файлов находящихся в каталоге /files/captcha и имеющих названия вида “cap_RANDOM_STRING”, я использовал следующую комманду:

svn propset svn:ignore cap_* /files/captcha/
,

Еще кое-что о развертке приложения с использованием svn. Бывает что нужно изменить все файлы или каталоги (а также подкаталоги), скажем сменить permission mask. Это легко сделать используя:

find . [pattern] -exec chmod +x '{}' \;

Однако, в наших каталогах, кроме собственно данных, находяться также системные папки Subversion – .svn, и изменения в них вноситься вручную никак не должны. Чтобы игнорировать все .svn каталоги, используем опцию -prune:

find .  -path '*/.svn' -prune -o -type d -print

Возвратяться все каталоги кроме .svn.

,

More a note to myself than a regular post: if you need to tweak PHP settings per vhost on your dedicated server, you can do it easily.

Read the rest of this entry

, , ,