[Devel] [ANNOUNCEMENT] gitum-0.4.1-alt1 released

Pavel Shilovsky piastry на etersoft.ru
Пт Фев 3 18:52:23 MSK 2012


Привет!

Собрал новую версию gitum: 0.4.1-alt1 (версия 0.4 содержала некоторые ошибки).

Краткое руководство.
==========================================

Gitum имеет 5 рабочих веток:
1. Ветка апстрим репозитория.
2. Ветка с патчами наверху.
3. Ветка с непрерывной историей изменений - рабочая ветка.
4. Ветка с патчами в виде отдельных файлов - каждый коммит это
состояние репозитория.
5. Ветка с конфигурационным файлом, где содержатся имена 4-х
предыдущих веток. Носит всегда название gitum-config.

У gitum есть опция --repo ПУТЬ, которая указывает путь до
gitum-репозитория. Если опция не указана, то поиск ведётся в текущем
каталоге.

1) Создадим конфигурационный файл gitum:

gitum create --remote origin/master --upstream master --rebased
patches --current dev

origin/master -  апстрим репозиторий/ветка (или просто любая
локальная ветка - тогда без /), из которой будем тянуть изменения
master - наша копия ветки origin/master
patches - ветка с нашими патчами наверху
dev - текущая ветка разработки
Две последние ветки создаются сами. То есть на момент
выполнениякоманды, нужно чтобы существовала ветка master, в которой
сейчаснаходится последняя копия удалённой ветки, с которой мы
будемвытягивать изменения. Так же, если в качестве remote мы
указываемлокальную ветку, то она тоже должна существовать.


2) Перенесём изменения из апстрим репозитория:

gitum merge
В процессе merge могут возникать конфликты слияния. Нужноразрешить
очередной конфликт, добавить исправленные файлы командой

git add

и продолжить процесс:
gitum merge --continue

Если же вы передумали делать pull, то можно вернутьизначальное
состояние актуальных веток с помощью команды:

gitum merge --abort
Либо пропустить тeкущий патч и продолжить процесс:

gitum merge --skip

В результате в ветке разработки dev у нас появятся копии коммитовиз
удалённой ветки (сохранено описание, авторство и, по
возможности,функционал).Так же вы сможете заметить, что история
остаётсянепрерывной и отсутствие коммитов вида: "Merge remote into
local".
Так же можно указать вручную с какой веткой проводить слияние, указав вначале:

gitum merge --branch local_branch

или

gitum merge --branch remote1/branch1


3) После того, как мы добавили новые коммиты в ветку dev, намнадо
обновить ветку актульных патчей patches:

gitum update -n 3

добавит три последних коммита из dev в patches.


4) В случае, если нужно исправить существующий патч, выполняем:

gitum editpatch

В конце процесса обязательно завершаем его командой:

gitum editpatch --commit

которая делает коммит в ветку разработки, соответствующий изменению
ветки с патчами.

Если возникли конфликты слияния, или же мы собственноручно остановили
rebase (указав в rebase-файле edit), то после необходимых изменений
продолжаем процесс:

gitum editpatch --continue

Так же по аналогии с gitum pull можно прервать процесс или пропустить
текущий патч (--abort и --skip).


5) Если надо удалить gitum файлы и ветки из репозитория, то используем команду

gitum remove [ --full | --branches | --configfiles ]


6) В случае, когда необходимо восстановить вид репозитория предыдущего состояния

gitum restore COMMIT

где COMMIT - коммит из ветки patches.

Поддерживается совместная работа над gitum репозиторием.


7) Можно склонировать удалённый gitum репозиторий:

gitum clone GITUM-REPO DIR

что склонирует репозиторий по адресу GITUM-REPO в директорию DIR.


8) Чтобы вытянуть изменения из удалённого gitum-репозитория:

gitum pull [ --remote REMOTE ]

при этом наши локальные патчи расположатся поверх новых изменений -
история сохраняется. Если в процессе наложения возникли проблемы, то
нужно их исправить, сделать git add и дать команду

gitum pull --resolved

или пропустить текущий патч (--skip), или прервать процесс и вернуть
первоначальное состояние репозитория с помощью

gitum pull --abort.


9) Чтобы сохранить изменения в удалённом gitum-репозитории:

gitum push [ --remote REMOTE ]


==========================================

Просьба ко всем, кому интересен данный проект его попробовать и
написать свой отзыв в багу:
http://bugs.etersoft.ru/show_bug.cgi?id=7690.

Приветствуются любые замечания и пожелания с вашей стороны!

-- 
Best regards,
Pavel Shilovsky.


Подробная информация о списке рассылки Devel