В CVS, как многим известно, в каждом каталоге есть папка, где находятся системные файлы этой системы. Проблема в том, что если просматривать версии на сервере, где у нас развернутый репозитарий, и только что обновленную на локальной машине, серверная устаревает, и на сколько я понял, ровно на один «шаг» назад.
Например, если файл test.xml версии 1.3 на сервере имеет версию 1.2 согласно записи в этом файле, то точно такой же, сделан секунду назад, на локальной машине имеет правильную запись — 1.3. В чем может быть проблема?
Пример записи с <folder_name>/CVS/Entries:
Локальная:
/example.php/1.26/Fri Aug 5 13:38:38 2011//
Серверная:
/example.php/1.25/Thu Aug 4 14:12:23 2011//
То, что у вас на сервере в somefolder наличествует каталог CVS, говорит о том, что это тоже checkout'нутая копия из репозитория, которая, по всей видимости, периодически обновляется по крону (например, раз в час). Сразу после коммита в самом репозитории будет новая версия (файл example.php,v), но развернутое дерево на сервере обновиться еще не успело — надо дождаться следующего «синка».
Обычно в таких случаях (если не хочется ждать, пока крон дернет скрипт обновления), его (скрипт) следует запустить вручную.
Давайте разберемся с рабочими копиями и репозиторием. Пусть репозиторий хранится на машине repoman в каталоге /var/cvs/someproject. Вы делаете коммит на своей машине (mybox) из рабочего каталога, скажем, ~/work/project/somefolder. Где-то на сервере (пусть называется server) есть каталог /some/path/to/checkouted/project/somefolder, содержимое которого, как я пока понимаю, «устаревает» (и которое в моем описании обновляется из репозитория на repoman'е по крону). Все три машины могут быть хоть одной, но скорее всего либо они все разные, либо repoman и server — одна и та же машина.
Если говорить вашим языком (смысле, пользоваться терминами из ваших комментариев), что из вышеописанного «нормальные» файлы, что — «рабочие», а что — «системные»?
Рабочие файлы — это те, ради которых мы и поднимаем систему версий. А системные — внутренние CVS, которые при нормальной работе никого не волнуют. Так вот, рабочие файлы, если их закоммитить (с ~/work/project/somefolder), сразу же меняются и на (/some/path/to/checkouted/project/somefolder). Да, в этом нет ничего удивительного, можно повесить соотвествующий функционал на систему, но почему тогда не меняются системные файлы в этой директории, причем стабильно отставая на один шаг?