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

 
Гаджеты

 

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

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

Как ускорить чтение/запись на USB флэшку? Советы -> Q7

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

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


Ваше имя:

Ваш E-Mail:

CODE:
......

  

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


eComStation 2.0 поддерживает компьютеры с ATOM и i3/i5/i7 + современные качественные прозрачные иконки

Статьи

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


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

 

Самая комментируемая новость за неделю: ArcaOS 5.01 еще две недели





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

Самая комментируемая новость за месяц: ArcaOS 5.01 еще две недели

IBM OS/2 Warp

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

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

 
Статьи


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

 

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