- PVSM.RU - https://www.pvsm.ru -

Здравствуй, мой любознательный %username%!
Несколько месяцев назад я случайно наткнулся на еще одну перспективную систему управления версий — Veracity, о которой и хотел бы сегодня рассказать, чтобы тебе было что поковырять на выходных. Несмотря на то, что разработка Veracity идет уже больше года, на Хабре ее имя было лишь пару раз вскользь упомянуто в комментариях. Под катом тебя ждет краткое описание Veracity и ссылки, где можно получить более подробную информацию о ней.
Итак, Veracity (англ. «правдивость», «достоверность», «точность») — это распределенная система контроля версий, схожая с Git, разрабатываемая по лицензии Apache 2.0 в фирме SourceGear.
Процедура установки самая обыкновенная и имеет 2 возможных альтернативы:
Для работы с Veracity используется короткая команда vv. Ниже приведен список основных операций Veracity и примеры команд:
| Команда | Описание | Пример |
|---|---|---|
| vv add | Поместить файл под версионный контроль. В отличие от Git в Veracity на удивление нет понятия staging. Все изменения в файле попадают в коммит. |
|
| vv addremove | Добавить под версионный контроль новые файлы и убрать из под версионного контроля более не существующие файлы |
|
| vv branch | Вывести список текущих веток или изменить ветки |
|
| vv cat | Вывести содержимое файла под версионным контролем |
|
| vv checkout | Создать новую рабочию копию локального репозитория (их может быть несколько) |
|
| vv clone | Создать новую копию существующего репозитория. Затем из вновь созданного репозитория можно создать нужное количество рабочих копий. Работает аналогично git clone. Veracity поддерживает для работы с удаленными репозиториями только протокол HTTP. |
|
| vv comment | Добавить еще один комментарий к коммиту в дополнение к указанному при создании коммита. Каждый вызов команды добавляет новую строчку с комментарием. Старые строчки сохраняются. |
|
| vv commit | Создать коммит |
|
| vv config | Изменить конфигурацию Veracity. Позволяет не только устанавливать значения конкретных опций, но и импортировать и экспортировать конфигурацию в JSON документ, а также сбрасывать конфигурацию на значения по-умолчанию. |
|
| vv diff | Вывести различия между текущей ревизией и указанной ревизией. |
|
| vv diffmerge | То же, что и diff, но для сравнения используется сторонняя программа DiffMerge [7], которую необходимо установить отдельно, иначе команда выдает ошибку. |
|
| vv export | Копирует все файлы, находящиеся под версионным контролем, в отдельный каталог. |
|
| vv fast-export | Позволяет сохранить полное состояние репозитория (содержимое файлов + метаданные) в один текстовый файл. Этот файл может быть затем импортирован на другом компьютере командой vv fast-import. |
|
| vv fast-import | Инициализирует новый репозиторий из файла, созданного командой vv fast-import. |
|
| vv heads | Выводит описания последних коммитов в каждой из активных веток репозитория (ветки можно закрывать при помощи vv branch close). |
|
| vv help | Встроенная справочная система по командам Veracity. |
|
| vv history | Позволяет просматривать список предыдущих коммитов. То же, что git log. |
|
| vv incoming | Показывает какие изменения будут загружены с удаленного сервера. |
|
| vv init | Создать новый локальный репозиторий. Требует указания имени репозитория и какой каталог сделать рабочим. Позже можно добавить другие рабочие каталоги. |
|
| vv leaves | Показывает список «листьев», т.е. последних коммитов в ветках. |
|
| vv lock | Блокирует файл для редактирования. |
|
| vv locks | Показывает список файлов, заблокированных для редактирования. |
|
| vv merge | Вливает изменения указанного коммита в текущее состояние файлов в рабочем каталоге. |
|
| vv move | Перемещает указанный файл или директорию в новое место. |
|
| vv outgoing | Показывает список изменений, которые будут загружены в текущий или указанный удаленный репозиторий. |
|
| vv parents | Показывает список родительских коммитов для текущих измененных файлов. |
|
| vv pull | Получить изменения из удаленного репозитория. То же, что git pull. |
|
| vv push | Отправить изменения в удаленный репозиторий. То же, что git push. |
|
| vv remove | Удалить файл из под версионного контроля и стереть его. |
|
| vv rename | Переименовать файл. |
|
| vv repo | Создать, изменить, удалить репозитории, а также вывести их список. |
|
| vv resolve | Разрешить конфликты объединения файлов. |
|
| vv revert | Откатить текущие изменения. |
|
| vv serve | Позволяет запустить встроенное приложение Veracity для управления репозиторием. |
|
| vv stamp | Позволяет добавлять и удалять штампы к указанным коммитам. |
|
| vv status | Показывать состояние файлов в текущем рабочем каталоге. |
|
| vv tag | Присвоить уникальное текстовое имя коммиту. |
|
| vv unlock | Разблокирует файл, заблокированный при помощи vv lock. |
|
| vv update | Обновить состояние рабочего каталога из репозитория (применяется после выполнения vv pull). |
|
| vv user | Позволяет управлять учетными записями пользователей, использующих репозитории. |
|
| vv version | Показывает текущую установленную версию Veracity. |
|
| vv whoami | Показывает или устанавливает текущий пользовательский аккаунт. |
|
| vv zip | Сохраняет содержимое репозитория в Zip-архив. |
|
Как уже было сказано раньше, Veracity хранит метаданные репозиториев отдельно от файлов рабочего каталога. Это позволяет иметь несколько рабочих каталогов. В документации по Veracity сказано, что он поддерживает несколько различных движков хранения, однако, по-умолчанию используется движок FS3. Этот движок использует базу данных SQLite3 и текстовые файлы, хранящие запросы к базе данных. Для того, чтобы иметь возможность просматривать содержимое базы вы можете установить расширение SQLite Manager [8] для Firefox. По-умолчанию, все данные репозиториев хранятся в каталоге ~/.sgcloset/. Кроме того каждая рабочая копия имеет скрытый каталог .sgdrawer, содержащий ссылку на имя репозитория и некоторые другие метаданные. Если вы хотите игнорировать файлы репозитория, то поместите их в файл .sgignores или .vvignores, как показано здесь [9]. Veracity на данный момент имеет всего 2 исполняемых файла — vv и vscript. Первый отвечает за исполнение команд версионного контроля, а второй позволяет запускать скрипты, написанные на Javascript.
Как уже было сказано выше Veracity содержит встроенный веб-сервер и веб-приложение для управления проектом, использующим Veracity. Для того, чтобы запустить веб-приложение, просто введите команду:
$vv serve --port=8080 --public #Ключ --public разрешает подключение с удаленных хостов.
Приложение стартует на указанном порту и становится доступно из браузера. Вот как это выглядит:

На картинке видно, что указанный коммит имеет 3 комментария. Один добавлен при создании коммита, остальные с помощью команды vv comment.
Разработчики Veracity понимают, что конкурировать с Git без наличия проектов наподобие Github будет очень трудно. Именно поэтому совсем недавно был запущен сайт onveracity.com [11]. В целом сайт повторяет функциональность Github, а скриншоты можно посмотреть на его главной странице.
Информации по Veracity пока что не так много. Сами разработчики отвечают на вопросы пользователей на странице вопросов [14]. Некоторые сведения можно почерпнуть из книги, указанной выше. Будем надеяться, что этот проект также найдет свое место под солнцем.
Автор: vaniaPooh
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/programmirovanie/13793
Ссылки в тексте:
[1] SHA-1: http://ru.wikipedia.org/wiki/SHA-1
[2] SHA-2: http://ru.wikipedia.org/wiki/SHA-2
[3] Skein: http://ru.wikipedia.org/wiki/Skein
[4] для Linux: http://veracity-scm.com/qa/questions/49/how-do-i-build-veracity-from-source-on-linux
[5] для Windows: http://veracity-scm.com/qa/questions/45/how-do-i-build-veracity-from-source-on-windows
[6] странице загрузок: http://www.veracity-scm.com/downloads.html
[7] DiffMerge: http://www.sourcegear.com/diffmerge/
[8] SQLite Manager: https://addons.mozilla.org/ru/firefox/addon/sqlite-manager/
[9] здесь: http://veracity-scm.com/qa/questions/92/ignore-a-file-or-folder
[10] хостинга: https://www.reg.ru/?rlink=reflink-717
[11] onveracity.com: http://onveracity.com
[12] Официальный сайт: http://veracity-scm.com/
[13] Книга по Veracity: http://www.ericsink.com/vcbe/
[14] странице вопросов: http://veracity-scm.com/qa/
Нажмите здесь для печати.