[Q]: FAQ по CVS в OS/2
[A]: Andrew Belov (2:5020/181.2)
Q: Где достать графическую оболочку? A: Существует целых два варианта:
1. jCVS 2. Emacs, C-x v (Tools -> Version Control)
Первый вариант - на Java, второй - на LISP'е. Кроме того, эффективно действует прикручивание распространенных команд типа "cvs commit" к user-menu разных file manager'ов.
Q: Как подключиться к SourceForge по CVS over SSH? A: Зарегистрировавшись, берем неизбалованный интерактивностью
порт SSH 1.2.13-03 от 11/03/1997 и создаем себе примерно такое окружение:
SET CVS_RSH=ssh SET CVSROOT=:ext:mylogin@cvs.myproject.sourceforge.net:/cvsroot/myproject SET LOGNAME=mylogin
С такими настройками можно вполне приемлемо работать с SourceForge, включая использование scp для закачки файлов.
Старые порты CVS/EMX часто имели ограничение по длине user-id'а 8 символов, в новых (1.12.0.x) этой особенности уже нет.
Q: Что за метод “CVS over RSH”, и как им пользоваться? A: RSH - простейшее средство удаленного доступа, в общем случае доступ
контролируется только по "разрешенным" IP-адресам клиентов (%ETC%\rhosts). Этот вариант можно порекомендовать только для схемы типа "домашний PC плюс ноутбук", основное его преимущество в том, что приложив минимальные усилия к настройке (создать %ETC%\rhosts и запустить RSHD), получаем работающий CVS + удаленный доступ через RSH.
Q: Мой PSERVER взломали. A: Поставить “SystemAuth=no” в %CVSROOT%\CVSROOT\login (это запрещает вход
под несуществующими login'ами, т.к. в OS/2 кроме PSERVER'а пароли проверять больше некому). Еще следует убедиться, что файлы с расширениями ",v" в %CVSROOT%\CVSROOT присутствуют в необходимом для настройки сервера объеме (т.е. раздавать passwd,v и config,v как минимум нежелательно).
Q: Портирую программу из OS/2 в Linux. Как организовать контроль версий? A: Если дело происходит на одной машине с локальным репозитарием, то самый
простой способ - поставить драйвер HPFS/JFS for Linux (см. соответствующие Linux'овые эхи), а со стороны OS/2 - убедиться, что конфиги в %CVSROOT%\CVSROOT не содержат символов возврата каретки (CR), иначе на Linux'овый терминал полезут неразборчивые ругательства.
Hеобходимо помнить, что сам репозитарий CVS для OS/2 никаких CR'ов не содержит, таким образом, файлы *,v можно спокойно таскать между различными платформами. CR'ы появляются только в рабочих копиях и в конфигах.
Рекомендуется настроить в Linux'е inetd, чтобы запускать CVS по протоколу :pserver: и избежать необходимости назначения прав доступа на директории репозитария.
Q: Портирую программу из Linux в OS/2. Как синхронизировать исходники? A: Импортируем Linux'овые исходники с ключом “-ko”, чтобы не заменять
$Id$'ы своими. Разработку OS/2'шной версии ведем в branch'е (cvs tag -b), синхронизируемся по "cvs update -j version1 -j version2", где version1 - предыдущая версия, для которой есть готовый порт, version2 - свежеимпортированная версия, над которой предполагается работать.
Q: CVSROOT=:pserver:johndoe@192.168.1.5:c:/cvs - клиент не работает. A: Hеобходимо переписать название хоста в буквенном виде. Hазвание может
быть каким угодно, вплоть до несуществующего (т.е. прописанного через %ETC%\hosts).