Начиная с версии 1.2.0, fam поддерживается LinCVS. На момент написания этого текста эта поддержка все еще является экспериментальной.
Чтобы скомпилировать LinCVS с поддержкой fam, Вам следует отредактировать файл lincvs.pro в корневой папке LinCVS и раскомментировать следующие строчки:unix { DEFINES += USE_FAM SOURCES += src/FamConnector.cpp HEADERS += src/FamConnector.h LIBS += /usr/lib/libfam.so }
Обратите внимение, что библиотека libfam должна быть корректно установлена (проверьте соответствие ее реального местонахождения тому что указано в lincvs.pro). Для использования fam необходимо, чтобы демон fam на момент запуска LinCVS был запущен.
В linux-ах, если fam использует поддержку ядром dnotify, имеется досадная проблема: dnotify держит открытым дескриптор каждой наблюдаемой директории и поэтому, в очень больших проектах с большим количеством директорий, может исчерпаться количество свободных дескрипторов, что может привести к падению приложений и нестабильной работе системы. Для того чтобы избежать это, в файле src/FamConnector.cpp имеется соответствующий #define, значение по умолчанию 20000. Если Вы столкнетесь с проблемами (а LinCVS при падении fam-клиента выведет на консоль сообщение), это значение нужно уменьшить. Заметим, что если количество наблюдаемых директорий превысит это число, то LinCVS автоматически вернется в режим опрашивания.
Существует патч, борящийся с этой проблемой, загляните на сайт www.fwatch.org