ru:os2faq:os2prog:os2prog.064

[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).