- Фантастика и фэнтези
- Ироническое фэнтези
- Стимпанк
- Детективная фантастика
- Киберпанк
- Попаданцы
- LitRPG
- Космоопера
- Технофэнтези
- Городская фантастика
- Русское фэнтези
- Юмористическая фантастика
- Космическая фантастика
- Боевое фэнтези
- Эпическая фантастика
- Зарубежная фантастика
- Книги магов
- Мистика
- Разная фантастика
- Разное фэнтези
- Любовное фэнтези
- Романтическая фантастика
- Городское фентези
- Историческая фантастика
- Историческое фэнтези
- Социально-философская фантастика
- Сказочная фантастика
- Иностранное фэнтези
- Романтическое фэнтези
- Ироническая фантастика
- Ужасы и Мистика
- Постапокалипсис
- Героическая фантастика
- Фэнтези
- Научная Фантастика
- Социально-психологическая
- Альтернативная история
- Боевая фантастика
- Разная литература
- Пословицы, поговорки
- Шахматы
- Визуальные искусства
- Фанфик
- Авто и ПДД
- Военное
- Отраслевые издания
- Гиды, путеводители
- Зарубежная образовательная литература
- Военная история
- Цитаты из афоризмов
- Современная литература
- Великолепные истории
- Начинающие авторы
- Современная зарубежная литература
- Боевые искусства
- Изобразительное искусство, фотография
- Кино
- Литература 19 века
- Недвижимость
- Музыка, музыканты
- Готические новеллы
- Истории из жизни
- Культура и искусство
- Спецслужбы
- Зарубежная прикладная литература
- Музыка, танцы
- Подростковая литература
- Прочее
- Военная техника, оружие
- Газеты и журналы
- Периодические издания
- Домоводство, Дом и семья
- Любовные романы
- Экономическая литература
- Научные и научно-популярные книги
- О животных
- Биохимия
- Культурология
- Юриспруденция
- Политика
- Психотерапия
- Языкознание
- Научпоп
- Медицина
- Психология, личное
- Радиотехника
- Филология
- Педагогика
- Образовательная литература
- Деловая литература
- Физика
- Науки: разное
- Химия
- Воспитание детей, педагогика
- Детская психология
- Зарубежная публицистика
- Биология
- Архитектура
- Зарубежная психология
- Науки о космосе
- Социология
- Математика
- География
- Беременность, ожидание детей
- Литературоведение
- Транспорт, военная техника
- Обществознание
- Зоология
- География
- Альтернативная медицина
- Иностранные языки
- Ветеринария
- Рефераты
- Астрология
- Биофизика
- Экология
- История Европы
- Учебники
- Шпаргалки
- Государство и право
- Ботаника
- Религиоведение
- История
- Техническая литература
- Прочая научная литература
- Психология
- Детективы и Триллеры
- Справочная литература
- Проза
- Новелла
- Юмор
- Проза
- Историческая проза
- Русская современная проза
- Советская классическая проза
- Повести
- Очерки
- Эссе
- Рассказы
- Зарубежная современная проза
- Сентиментальная проза
- Зарубежная классика
- Афоризмы
- Эпистолярная проза
- Феерия
- Семейный роман/Семейная сага
- Разное
- Антисоветская литература
- Магический реализм
- Русская классическая проза
- Современная проза
- О войне
- Контркультура
- Классическая проза
- Поэзия, Драматургия
- Детская литература
- Детская фантастика
- Детские остросюжетные
- Детские стихи
- Детские приключения
- Внеклассное чтение
- Учебная литература
- Зарубежные детские книги
- Бизнес
- Загадки
- Книги для подростков
- Школьные учебники
- Детский фольклор
- Книги для дошкольников
- Детские детективы
- Детская познавательная и развивающая литература
- Буквари
- Прочая детская литература
- Сказка
- Детская проза
- Детская образовательная литература
- Юмор
- Документальные книги
- Бизнес
- Внешнеэкономическая деятельность
- Тайм-менеджмент
- Кадровый менеджмент
- О бизнесе популярно
- Управление, подбор персонала
- Бизнес
- Менеджмент и кадры
- Продажи
- Экономика
- Ценные бумаги и инвестиции
- Малый бизнес
- Делопроизводство, офис
- Корпоративная культура, бизнес
- Банковское дело
- Финансы
- Зарубежная деловая литература
- Ораторское искусство / риторика
- Личные финансы
- Интернет-бизнес
- Поиск работы
- Государственное и муниципальное управление
- Бухучет и аудит
- Работа с клиентами
- Менеджмент
- Краткое содержание
- Личная эффективность
- Переговоры
- Приключения
- Старинная литература
- Религия и духовность
- Компьютеры и Интернет
- Блог
Читаем без скачивания Управление исходными текстами. Часть 1. Краткое руководство по CVS - Илья Рыженков
Шрифт:
Интервал:
Закладка:
Исполнение команд
Общий синтаксис операций с CVS выглядит так:
> cvs [cvs-options] command [command-options-and-arguments]
ПРИМЕЧАНИЕ. Угловой скобкой в начале строки «>» я буду отмечать текст, набираемый в командной строке. Текст без угловой скобки, следующий за командой, является предполагаемым выводом.
Иными словами, после имени исполняемого модуля идут опции, общие для всех команд и определяющие функционирование системы в целом, а после имени команды – опции, определяющие поведение этой команды, и специфичные для команды аргументы. Ниже приводится список ключей для CVS.
ПРЕДУПРЕЖДЕНИЕ. Некоторые ключи имеют одинаковое наименование, но совершенно разный смысл, когда используются как ключи к CVS (cvs –key command) и как ключи к команде (cvs command –key). Будьте внимательны при использовании ключей и располагайте их в правильном месте.
Ключ Описание -d cvsroot Указать CVSROOT явно. Если не указан, CVS пытается определить CVSROOT из текущего каталога, переменной окружения «CVSROOT» или файла .cvsrc -q Показывать меньше информации во время работы (quiet). Подавляется дополнительная информация, например о сканировании дерева каталогов. -Q Показывать еще меньше информации во время работы (really quiet). Выводятся только сообщения об ошибках. -r Новые файлы, полученные из репозитория, помечаются флагом read-only. Используется для отслеживания редактирования файлов при помощи watchers/editors. -w Новые файлы, полученные из репозитория, помечаются флагом read-write (включена по умолчанию). Используется для отключения опции –r при использовании переменных окружения или .cvsrc. -l Не записывать информацию о выполненной команде в журнал (history log). Команда, тем не менее, выполняется, и все изменения файлов отслеживаются. -n Не производить никаких фактических изменений в рабочем каталоге. Полезно для проверки наличия изменений в репозитории. -t Показывать детально, что происходит во время операции. Особенно полезно для понимания работы CVS, рекомендуется использовать с ключом –n. -v Показать версию CVS. -T tmpdir Использовать tmpdir как временный каталог во время работы. -e editor Использовать editor для редактирования дополнительной информации, например при отсутствии –m у команд, требующих комментария. -f Не использовать .cvsrc (файл, в котором можно сохранить постоянно используемые настройки, в этой статье не обсуждается). -z #Сжимать данные при передаче по сети (0 – не сжимать, 9 – максимальное сжатие). -x Шифровать данные при передаче по сети (если поддерживается методом доступа). -a Авторизоваться при каждом взаимодействии с сервером (если поддерживается методом доступа). -s VAR=VAL Установить пользовательскую переменную для CVS (в этой статье не обсуждается).WINCVS. Можно использовать AdminCommand line… для выполнения команд CVS, набранных вручную.
Создание репозитория
Эксперименты проще всего производить с локальным репозиторием. Работа с удаленным CVS мало чем отличается, однако в этом случае Вам должен быть известен правильный CVSROOT. Например, администратор CVS-сервера может создать тестовый репозиторий и сообщить Вам необходимую информацию. Для работы с локальным репозиторием необходимо его проинициализировать самостоятельно. Создайте где-либо пустой каталог и выполните команду инициализации:
> cvs –d :local:c:/cvs/repository init
>
Ключ –d позволяет задать CVSROOT в командной строке. Команда init проводит первичную инициализацию репозитория. Вы может создать сколько угодно репозиториев в разных не пересекающихся каталогах и использовать их для различных категорий проектов, разных команд, как приватный и публичный и так далее.
В созданном пустом каталоге должен появиться подкаталог «CVSROOT», содержащий некоторое количество управляющих файлов. В этой статье устройство репозитория рассматриваться не будет.
WINCVS. Локальный репозиторий создается командой "CreateCreate a new repository…".
Создание проекта
Прежде чем помещать проект под управление CVS, следует тщательно продумать конфигурацию проекта, именование файлов и структуру каталогов. Особенно это важно в отношении каталогов. В связи с тем, что CVS должен хранить редакции всех, даже удалённых файлов, каталоги никогда не удаляются. Поэтому переименование каталогов и перемещение файлов могут вызвать трудности.
СОВЕТ Если используется Windows - давайте всем файлам имена в нижнем регистре.
Начните с проекта, состоящего из одного текстового файла. В пустом каталоге с именем “test” создайте файл “readme.txt” следующего содержания:
This is line number one
This is another line of source code
Will CVS automatically save my code each hour? No, but you can schedule automatic commit operation.
Теперь необходимо поместить файл в репозиторий:
cvs -d:local:c:/cvs/repository import -m “Comment string” remote/path vendor release
• Ключ -d со следующим за ним cvsroot, как обычно, задаёт репозиторий.
• Команда import указывает, что текущий каталог необходимо импортировать в репозиторий.
• Необязательный ключ -m со своим аргументом идёт после команды и относится к ней. Он указывает комментарий, который необходимо проассоциировать с данной редакцией. Если не указать комментарий в командной строке, CVS откроет редактор по умолчанию (например, notepad) и попросит вас ввести комментарий.
• Следующий параметр указывает путь относительно корня репозитория, где следует разместить файлы из каталога. Данные можно импортировать в любое место репозитория, все необходимые каталоги создадутся автоматически.
• Далее следуют две метки - поставщик (vendor) и символическое имя версии (release). Эти метки полезны, если вы импортируете исходные тексты сторонних разработчиков или свои проекты, уже имеющие определенную историю и нумерацию версий.
Выполнять эту команду следует из корневого каталога проекта, в этом примере - из каталога “test”.
В нашем случае эта команда может выглядеть так:
› cvs -d:local:c:/cvs/repository import -m “Initial import of the project” test myself initial
N test/readme.txt
No conflicts created by this import
›
Вывод команды означает, что в репозитории был создан файл для хранения редакций readme.txt в каталоге test, и не произошло никаких неприятностей в процессе работы.
WINCVS Выберите пункт меню "CreateImport module…" Затем выберите каталог, который вы хотите импортировать в репозиторий. Далее появится список типов файлов, обнаруженных в каталоге. Вы можете выбрать, какие из них необходимо импортировать, а какие нет.
Теперь, если краешком глаза заглянуть в репозиторий, можно обнаружить там новый каталог с именем test, внутри которого CVS расположил свои служебные файлы и файлы проекта с информацией о редакциях - проект создан и находится в репозитории. Однако локальный каталог до сих пор не имеет никакого отношения к CVS - файлы всего лишь «скопированы» в репозиторий. Теперь нужно создать структуру, которая бы хранила информацию о связи с репозиторием локально.
ПРЕДУПРЕЖДЕНИЕ Импорт файлов в репозиторий не создаёт локальной структуры с информацией о связи с репозиторием
Чтобы создать связь между репозиторием и рабочим каталогом, необходимо выполнить другую операцию - checkout. Но предварительно нужно… удалить каталог, из которого импортировались файлы. Он больше не нужен, поскольку вся необходимая информация содержится в репозитории. Возможно, неплохой мыслью будет резервное копирование проекта, но в данном случае этого можно не делать. Итак, удалите каталог “test”, из которого производился импорт. Теперь можно произвести операцию получения рабочей копии из репозитория.
Получение рабочей копии
Скорее всего, у Вас есть некоторый каталог, где и хранятся разнообразные проекты. Это хороший кандидат для использования в качестве основного каталога для получения рабочих копий проектов из CVS. Предположим для простоты, что это c:projects
WINCVS Хорошей мыслью может быть установка этого каталога в качестве корневого для дерева каталогов. Используйте "ViewBrowse LocationChange…", чтобы установить его. Это избавит Вас от лишней информации во время работы с WinCVS