Возможно вы искали: 'LocoRoco 2'

May 15 2025 19:23:16
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96111483
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18357
• Обзор The Walking ... 18801
• Обзор DMC: Devil M... 19879
• Обзор на игру Valk... 15877
• Обзор на игру Stars! 17764
• Обзор на Far Cry 3 17948
• Обзор на Resident ... 16024
• Обзор на Chivalry:... 17508
• Обзор на игру Kerb... 17981
• Обзор игры 007: Fr... 16619
Превью о играх
• Превью к игре Comp... 17960
• Превью о игре Mage... 14464
• Превью Incredible ... 14721
• Превью Firefall 13479
• Превью Dead Space 3 16334
• Превью о игре SimC... 14730
• Превью к игре Fuse 15442
• Превью Red Orche... 15542
• Превью Gothic 3 16343
• Превью Black & W... 17354
Главная » Статьи » Разное » Краткое введение в систему контроля версий Arch (cvs version)

Краткое введение в систему контроля версий Arch (cvs version)

Ключевые слова: cvs, version, (найти похожие документы)

From: Александр Данилов <daapp at land dot ru>
Newsgroups: http://fssg.st-oskol.ru/~alex/
Date: Mon, 20 Sep 2004 18:21:07 +0000 (UTC)
Subject: Краткое введение в систему контроля версий Arch

Оригинал: http://fssg.st-oskol.ru/~alex/arch/ArchPrimer.ru.html
Англоязычный оригинал руководства находится по адресу: http://repose.cx/ArchPrimer.html


Использование arch в однопользовательских проектах.

Это мини руководство представляет собой краткий обзор основных
возможностей системы управления версиями Arch. Руководство является
дополнением к учебнику по Arch и может быть рекомендовано к прочтению
первым с последующем переходам к другим источникам информации.

Создание архива

До того, как мы начнём работать с arch нам необходимо создать архив.
Архив - это всего лишь каталог на вашей файловой системе, в котором
будут храниться ревизии проекта. Архив не обязательно должен
находиться на локальной файловой системе, архив может находиться в
сети и быть доступен по HTTP, FTP, SFTP и т.д. Для начала мы будет
использовать архив на локальной файловой системе, дабы не усложнять
введение.

Если у вас уже есть опыт работы с CVS, то архив сродни CVSROOT.

Создать архив довольно просто:

john@shell% tla make-archive john@doe.com--myarchive ~/myarchive
john@shell% tla my-default-archive john@doe.com--myarchive


Эти команды ассоциируют имя архива john@doe.com--myarchive с каталогом
~/myarchive затем помечают этот архив как используемый по умолчанию. В
результате выполнения этих команд также создаётся каталог ~/myarchive
и в него помещаются несколько файлов, необходимых для управления
проектом.

Мы можем проверить результат выполнения команд создания архива
попросив у Arch список доступных архивов:

john@shell% tla archives
lord@emf.net--2003b
http://arch.quackerhead.com/~lord/archives/lord@emf.net--2003b
john@doe.com--myarchive
/home/john/myarchive


Вы заметили, что john@doe--myarchive не единственный архив? Тот другой
архив - одно из мест, откуда можно получить последнюю версию Arch. В
Этом учебнике мы не будем пользоваться этим архивом.

Имя архива имеет следующий вид:

почтовый@адрес--имя-архива


Указывать реальный почтовый адрес необязательно - это всего лишь
способ сделать уникальным имя архива. Имена архивов должны следовать
этому соглашению о наименовании.


Установление вашей личности

Перед тем, как импортировать ваш первый проект необходимо установить
свою личность. Делается это с помощью команды my-id:

john@shell% tla my-id "John Doe <john@doe.com>"


Arch будет помнить вас (так же как помнит ваш архив по умолчанию). Это
необходимо, например, для создания записей в журнале изменений.


Импорт вашего первого проекта

После того как вы создали архив и идентифицировали себя можно
приступать к импорту нового проекта. Для этого необходимо перейти в
каталог с исходными кодами проекта, называемый рабочий каталог или
дерево проекта. В качестве примера будем использовать очень простой
проект под названием "hello world":

john@shell% cd $wd/hello
john@shell% ls
hello.py world.py


Присвоение имени проекту

Первый шаг к импорту проекта - присвоение ему имени. Давайте назовём
этот проект:

hello--dev--1.0


Имя состоит из трёх частей, соединённых двойным тире.
* hello называется именем категории. Это имя проекта без какой-либо
информации о версии
* dev - имя ветви. Здесь dev означается development (находиться в
стадии разработки). Стабильную ветку можно добавить позже
* 1.0 - номер версии. По традиции номер версии состоит из двух
чисел, разделённых точкой, но вы можете использовать любое
количество чисел.

Arch навязывает такой способ наименования. Хотя он и кажется сначала
несколько непривычным, но позволяет обратиться к произвольной ревизии
кода достаточно удобным способом.

Для именования проекта мы инициализируем наш каталог как рабочий
каталог arch с помощью команды init-tree:

john@shell% tla init-tree hello--dev--1.0
john@shell% ls
hello.py world.py {arch}


Обратите внимание на появившийся каталог {arch}. Он содержит
информацию об имени проекта, ассоциированном с проектом архиве и т.д.


Маркировка файлов для добавления

По умолчанию Arch использует метод явной маркировки. Это означает, что
вам необходимо явно указать Arch какие файлы необходимо включить в
архив. Это делается с помощью маркировки. Например, мы хотим включить
все файлы в архив.

john@shell% tla add-tag *.py


Проверить, были ли файлы добавлены в архив можно заглянув в опись
наших файлов:

john@shell% tla inventory
S ./hello.py
S ./world.py


Символ S означает что файлы опознаны системой контроля версий Arch.
Если бы мы их не пометили, то они были бы отмечены как неопознанные
(U):

john@shell% tla inventory
U ./hello.py
U ./world.py


Импорт начальной ревизии

Теперь мы готовы к импорту нашего рабочего каталога в архив. Эта
операция состоит из двух шагов: создание необходимых категорий, ветвей
и ревизий в архиве и непосредственно импортирование. Для этого
воспользуемся новой возможность, появившейся в tla версии 1.1 и
сделаем это с помощью одной команды:

john@shell% tla import --setup
* creating category john@doe.com--myarchive/hello
* creating branch john@doe.com--myarchive/hello--dev
* creating version john@doe.com--myarchive/hello--dev--1.0
* imported john@doe.com--myarchive/hello--dev--1.0


Поздравляю! Если вы следовали всем указаниям, то самое трудное уже
позади. Оставшаяся часть руководства расскажет вам как сделать свою
жизнь проще с помощью Arch.


Простые задачи

Что изменилось

Итак, проект импортирован. Теперь можем заняться его изменением.
Представьте, что John Doe изменил файл hello.py - теперь строка с
приветствием выводится 5 раз, а не один. Перед тем, как зафиксировать
изменения в архиве мы хотим взглянуть на них и убедиться, что они
корректны и не содержат отладочного кода.

Для этого воспользуемся командой what-changed:

john@shell% tla what-changed
M ./hello.py


Из результата выполнения команды становиться ясно, что файл hello.py
был изменён (M). Для того, чтобы узнать что же конкретно изменилось и
увидеть различие между версией в архиве и текущим файлом, необходимо
указать в команде what-changed аргумент:

john@shell% tla what-changed --diffs
M ./hello.py

* modified files

--- orig/hello.py
+++ mod/hello.py
@@ -1,3 +1,4 @@
#!/usr/bin/env python

-print "hello"
+for i in range(5):
+ print "hello"


Из результата выполнения команды можно заключить, что одна строка была
удалена из файла, а две добавлено.

Обратите внимание, на то, что эти команды используют кэшированную
копию последней версии архива, называемую первоначальное дерево
(первоначальное потому, что это немодифицированная версия последней
ревизии). Это особенно удобно для разъединённых операций - у вас нет
доступа к архиву для того чтобы увидеть, что же изменилось.


Быстрое фиксирование изменений

John счастлив от того, что его изменения именно такие, как он и
ожидал, и теперь он жаждет зафиксировать эти изменения в архиве. Для
этого у Arch есть команда commit:

john@shell% tla commit -L "print hello 5 times instead of 1"
M ./hello.py
* update pristine tree (john@doe.com--myarchive/hello--dev--1.0--base-0
=> hello--dev--1.0--patch-1)
* commited john@doe.com--myarchive/hello--dev--1.0--patch-1


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


Фиксирование изменений с файлом журнала

В случае, если объём вносимых изменений значителен, необходимо более
тщательное их описание. В этом случае необходимо воспользоваться
командой make-log:

john@shell% tla make-log
/home/john/wd/hello/++log.hello--dev--1.0--john@doe.com--myarchive

john@shell% cat ++log.hello--dev--1.0--john@doe.com--myarchive
Summary:
Keywords:



Эта команда создаёт пустой файл журнала и печатает его имя.
Общераспространённая идиома - отредактировать файл, как только он
будет создан:

john@shell% $EDITOR $(tla make-log)
Warning: not overwriting existing log file
<editor opens up>


Строка summary вверху используется для краткого описания - обычно не
более 60 символов. Ключевое слово field используется не часто. Любой
текст расположенный ниже ключевых слов рассматривается как тело
сообщения и может быть любого размера.

John создал такое сообщения для журнала изменений:

Summary: print hello 5 times instead of 1
Keywords:

Upon a request from a user, I have made hello print 5 times instead of 1. You
can still obtain the old functionality by running hello | tail -1. Comments
on this change are welcome.


Когда John готов зафиксировать изменения, то он не использует аргумент .-L:

john@shell% tla commit
M ./hello.py
* update pristine tree (john@doe.com--myarchive/hello--dev--1.0--base-0
=> hello--dev--1.0--patch-1)
* commited john@doe.com--myarchive/hello--dev--1.0--patch-1


Получение списка изменений

Для просмотра изменений в архиве можно воспользоваться командой
revisions. Также можно воспользоваться командой log-ls, которая
отображает изменения в рабочем каталога. Возможна такая ситуация,
когда количество обнаруженных вами изменений в рабочем каталоге будет
меньше, чем в архиве, это происходит тогда, когда над одной веткой
работает несколько человек, эту ситуацию мы не будем здесь
рассматривать.

Эти описания изменений содержаться в журналах исправлений. Каждый
журнал исправлений выглядит как почтовое сообщение и содержит описание
изменений, дату и т.д. Журналы изменений хранятся и в архиве и в
рабочем каталоге, так что если вы работаете над каким-то кодом на
переносном компьютере и не имеете доступа к архиву, то вы всё же
сможете посмотреть список всех изменений, которые были внесены в
дерево.

Команда revisions выглядит следующим образом:

john@shell% tla revisions --summary
base-0
initial import
patch-1
print hello 5 times instead of 1


Для ветви с одним разработчиком команда log-ls будет всегда печатать
одно и тоже. На нижеследующем примере показано использование
дополнительного аргумента, принимаемого командой:

john@shell% tla log-ls --summary --creator
base-0
John Doe <john@doe.com>
initial import
patch-1
John Doe <john@doe.com>
print hello 5 times instead of 1


Обратите внимание на имя создателя (creator name) - этот то самое имя,
которое мы использовали в команде my-id ранее.


Генерация файла changelog

Журналы исправлений, о которых упоминалось ранее содержат гораздо
больше информации, чем мы видим используя команды log-ls и revisions.
Для получения этой дополнительной информации у Arch есть команда
changelog:

john@shell% tla changelog
# do not edit -- automatically generated by arch changelog
# arch-tag: automatic-ChangeLog--john@doe.com--myarchive/hello--dev--1.0
#

2003-07-13 09:36:33 GMT John Doe <john@doe.com> patch-1

Summary:
print hello 5 times instead of 1
Revision:
hello--dev--1.0--patch-1

Upon a request from a user, I have made hello print 5 times instead of 1.
You can still obtain the old functionality by running hello | tail -1.
Comments on this change are welcome.

modified files:
./hello.py


2003-07-13 08:58:18 GMT John Doe <john@doe.com> base-0

Summary:
initial import
Revision:
hello--dev--1.0--base-0


(automatically generated log message)

new files:
./hello.py ./world.py


Команда changelog команда извлекает из репозитария список изменений, в
случае если ваш рабочий каталог давно не обновлялся, то вы увидите
весь список изменений.


Извлечение ревизий из архива

Представьте себе, John заметил, что его новая версия hello неправильно
работает с другими программами, использующими её. Для того, чтобы
удостовериться, что проблема связана с обновлением, которое сделал он
сделал, John хочет получить доступ к предыдущему выпуску.

Он начинает с просмотра изменений (так как он забыл, что делал
последний раз с программой):

john@shell% cd
john@shell% tla revisions --summary hello--dev--1.0
base-0
initial import
patch-1
print hello 5 times instead of 1


Обратите внимание на то, каким образом имя проекта указывается для
команды revisions. Это от того, что мы сейчас находимся не в рабочем
каталоге таким образом нет ассоциированного проекта.

John, посмотрев на список решил, что ему нужна базовая версия (он
вероятно выбрал раннее исправление, если их там несколько). Для
получения версии base-0 он может выполнить следующую команду:

john@shell% tla get hello--dev--1.0--base-0
* from import revision: john@doe.com--myarchive/hello--dev--1.0--base-0
* making pristine copy
* tree version set john@doe.com--myarchive/hello--dev--1.0


В результате этого появился каталог hello--dev--1.0--base-0. В случае
необходимости можно явно указать имя каталога:

john@shell% tla get hello--dev--1.0--base-0 mydir


Если вам необходима последняя ревизия, то для такого случая есть
сокращение - можно не указывать спецификатор версии (base-0, patch-1 и
т.д.). Пример:

john@shell% tla get hello--dev--1.0


Автор: Damien Elmes - web@repose.cx
Перевод: Александр Данилов - daapp at land dot ru
434 Прочтений •  [Краткое введение в систему контроля версий Arch (cvs version)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Краткое введение в систему контроля... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка