Welcome to eComStation.RU site!

Select your language: Russian English Deutch Spanish Italian Portuguese Czech Polish French

Frequently asked questions and answers:

eComStation.RU

ru · en · de · es · it · pt · cz · pl · fr
eComStation - это совершенно другая операционная система для PC (IBM OS/2 Warp)
Программы, новости, статьи, поддержка пользователей, оборудование, вопросы и ответы.
 
      Что такое OS/2?НовостиУстановкаОбновлениеПрименениеБудущееСообществоКупить    
(Карта сайта)

 
 
Отчет: OS/2 совместимое оборудование
Как получить драйверы OS/2 бесплатно

 
Обновление

 
Программы

 
(Санкт-Петербург)

 
Преимущества (1)

 
Разработчику (1)

 
(Пайпы программ)

 
Компании: (1)

 
История (1):

 
(Бонусы)

 
Советы:

 
(Барьеры и решения)

 
Технологии: (1)

 
(Применение в науке, лаборатории, ..)

 

 
Готовые решения:

 
Новая eComStation:

 
Будущее: (1)

 
(Ссылки на другие сайты)

 
(Картинка дня)

 
Артефакты OS/2

 
Гаджеты

Обновите ArcaOS до уровня NeoWPS

  • Установите набор PNG иконок, нарисованных дизайнером, специализирующемся на оформлении OS/2
  • Установите eSchemes 2018, чтобы менять цвета и кнопки на рабочем столе

CVS для OS/2


TITLE: CVS для OS/2

DATE: 2001-08-13 01:21:44

AUTHOR: nickk

Если вы хотите серьезно заниматься программированием, то без CVS вам не обойтись.

Что есть CVS и зачем вам оно нужно?

Эти общие вопросы основательно и подробно освещены в документации к CVS, русскую версию которой вы можете прочитать на http://www.cvs.ru. От себя могу добавить, что если вы запутались в своих исходниках, тратите по полчаса в день на поиск нужного компакта со старой, работающей, версией своей либы, да и просто часто работаете с множеством файлов текстового формата, то вам сей инструмент может очень пригодиться.

Как поставить CVS клиент в OS/2

Скачать CVS можно здесь. CVS хранит все свои (точнее ваши) файле в репозитории, который может располагаться либо на локальной машине, либо где-нибудь в глубине вашей tcp/ip сети. Во втором случае требуется поставить CVS на локальной машине и на сервере, где хранится репозиторий. CVS распространяется в виде одного единственного исполняемого файла, который удобно положить в место, откуда вы потом сможете его запускать, например куда-нибудь в %PATH%. OS/2 версия CVS требует наличия библиотек EMX.

Каждый CVS желает знать, где находится его репозиторий. Эту информацию можно сообщать CVS'у посредством ключика '-d' в командной строке, либо значением переменной окружения CVSROOT. Формат строки указания репозитория в локальном случае: :local:путь/к/репозиторию. Сетевые репозитории задаются как: :метод:пользователь@машина:/путь/к/репозиторию

CVS клиент может соединятся с сервером используя методы server (используется встроенный rsh), ext (используется внешний rsh или любая другая аналогичная программа, совместимая с rsh по ключам и задающаяся переменной окружения CVS_RSH, например ssh), pserver (встроенная в CVS парольная аутентификация, CVS сервер запускается посредством inetd), gserver (то же самое что и pserver, на аутентификация с использованием GSSAPI), kserver (аналогично, аутентификация по протоколу kerberos).

OS/2 порт CVS поддерживает только ext, server и pserver методы. Методы server и pserver рассматриваться здесь не будут из-за недостаточной (на взгляд автора статьи) security. Настройка CVS для работы методом pserver подробно описана в документации. Метод ext применим только в случае замены rsh на ssh. Для этого надо установить переменную окружения CVS_RSH=ssh.

Но и это еще не все. Дело в том, что OS/2 порт CVS пропатчен на предмет добавления OS/2 specific ключика '-b' при вызове rsh. Естественно, для вызова ssh этот ключик не нужен. Поэтому CVS необходимо пересобрать. К счастью, это дело нетрудное. Патчи для исходников можно взять здесь, уже собранный бинарник здесь.

Как работать с CVS

Работать с CVS проще, чем устанавливать :). Подробное описание всех команд CVS с примерами есть в русской документации. Поэтому здесь приведен лишь краткий список простых действий, который, впрочем покрывает большинство потребностей при работе с CVS. Во всех примерах предполагается, что CVSROOT не задан. Поэтому, если в команде отсутствует ключ '-d', то это означает, что задавать репозиторий для этой команды не надо - CVS сама его в состоянии определить в данном случае :)

Создание репозитория

Перед началом работы с репозиторием его необходимо создать. Осуществляется это с помощью команды cvs -d <репозиторий> init. Можно таким образом создавать как локальные, так и сетевые репозитории (если, конечно, хватает прав на удаленной машине).

Помещение проекта в репозиторий

Под проектом понимается любая совокупность файлов, объединенных вами по некоторым признакам. Это может быть и один файл. Следующая команда помещает все содержимое текущего каталога в репозиторий. cvs -d <репозиторий> import -m "Сообщение для журнала" <каталог> <имя автора> <имя проекта> где каталог - место в репозитории, куда будет помещен ваш проект.

Получение проекта из репозитория в текущий каталог

cvs -d <репозиторий> checkout <каталог> После этой команды в текущем каталоге чудесным образом появятся все файлы проекта, ранее помещенного в репозиторий командой import. При этом также появится каталог CVS, в котором будет содержаться служебная информация, в том числе и

Фиксирование изменений в полученных из CVS исходниках

После редактирования исходников, вытащенных из CVS'а командой checkout, неплохо бы сообщить CVS'у, что исходники изменились. Делается это с помощью cvs update Данная команда просматривает файлы из текущего каталога и сравнивает их с находящимися в репозитории CVS. Местонахождение репозитория определяется содержимым служебного каталога CVS, появляющегося после команды checkout. Cvs update не помещает изменившиеся файлы обратно в репозиторий, а лишь ставит отмечает их для последующей команды cvs commit, которая непосредственно апдейтит содержимое репозитория.

Добавление файлов в проект

Команда cvs add -m "Описание файла" помечает указанные файлы и/или директории для помещения в репозиторий. Аналогично update'у, cvs add не помещает их сама в репозиторий, а оставляет это commit'у.

Удаление файлов из проекта

Для удаления файлов из проекта необходимо сначала удалить эти файлы из текущего каталога и затем воспользоваться командой cvs remove, которая проверит содержимое текущего каталога и пометит отсутствующие в нем файлы для удаления в репозитории, производимого в ходе cvs commit. Cvs remove не может удалять каталоги. Другой специализированной команды для удаления каталогов в cvs не предусмотрено. Поэтому их проходится удалять либо вручную в репозитории cvs стандартными средствами операционной системы. Либо пользоваться ключом -P для команд checkout, update, export, который удаляет все пустые каталоги в текущей директории. Либо вовсе забить на пустые каталоги :)

Фиксирование изменений в репозитории

Чтобы зафиксировать все изменения после команд update, add, remove необходимо выполнить команду cvs commit -m "Сообщение для журнала" которая и занимается непосредственно обновлением, добавлением, удалением файлов из репозитория.

Освобождение текущего проекта

После того, как вы вытащили проект из репозитория, поработали с ним, зафиксировали изменения, полезно выполнить cvs release. Эта команда проверяет, нет ли незафиксированных изменений и заносит запись в журнал CVS об окончании работы с данным проектом. Однако, поскольку CVS не блокирует полученные командой checkout файлы, не следит за ними иначе кроме как командами cvs update и cvs commit, то cvs release не является обязательной к выполнению. Вы вполне можете ее опускать не боясь за здоровье репозитория. Максимум, что вы можете потерять - изменения внесенные в исходники проекта, сделанные после последней команды commit.

Логи

CVS может предоставлять отчет о событиях произошедших и происходящий в репозитории. Для получения справки об истории работы с репозиторием в целом служит команда cvs -d <репозиторий> history

Для получения истории изменений файлов в текущей проекте, полученном из репозитория с помощью cvs checkout, используйте cvs log.

Также имеется возможность просмотреть статус файлов проекта, полученного из репозитория командой cvs status. Она расскажет вам, в каком состоянии находятся файлы данного проекта, работает ли кто-нибудь еще над ними в настоящий момент и тп.

Заключение

Вот, в общем-то, и все :) Многие другие важные возможности CVS остались нерасмотренными здесь (например работа с разными ревизиями, получение diff'ов и т.д.), но это не беда, коли есть документация на русском.

Работайте с CVS и ваши исходники будут мягкими и шелковистыми!


Автор статьи: nickk
Редактор: Eugene Gorbunoff

Попробуй программу:

Central Remote Control - управление мультимедия приложениями.

Комментарии:

Прокомментируйте эту статью (напоминаем, автор работал над текстом несколько недель, уважайте мнение других).


Ваше имя:

Ваш E-Mail:

CODE:
......

  

Ваш комментарий:


Как избежать потерю данных? a) не пользуйтесь старой версией JFS драйвера. b) Не пользуйтесь старым eCS CD1 (Если все-таки загружаете eCS 2.0 CD1, то откажитесь от его disk checker'а, т.к. он может повредить тома), Простые советы по сохранению JFS

Статьи

Операционная система
Программное обеспечение
Оборудование
Для разработчика
Разное
Колонка редактора


Готовая eComStation на SSD диске

 





Последний активный опрос: Какая высота барьера RPM?

IBM OS/2 Warp

 
Обучение новичков

Списки протестированного OS/2 оборудования

 
Статьи


   
  Почему eComStation?
Возможности
Особенности
Применение
Ролики и скриншоты
   eComStation для
для бизнесменов
для студентов и инженеров
для продавцов компьютеров
сообщество пользователей
   Разработчик
Распространить программу
Описание API, библиотеки
Начать новый проект
Конкурсы
   Программы
Он-лайн каталог
Выбрать через eCo Market
   Служба поддержки
Отправить вопрос
Купить eComStation
Вопросы и ответы
Обучение новичков
 
 
© 2001 - 2018 eCo Software, All rights reserved
eComStation is a registered trademark of Serenity Systems International
OS/2 Warp is a registered trademark of IBM Corporation
 

 

 
Картинка дня: