Page 1 of 3

KolibriOS и работа с Mercurial, Git

Posted: Thu Jun 16, 2011 9:13 pm
by XVilka
Mercurial

Нужно установить Mercurial
Также необходимо наличие расширения hgsubversion ( http://bitbucket.org/durin42/hgsubversion/ )
После скачивания и установки hgsubversion включаем его в .hgrc:

Code: Select all

[extensions]
hgsubversion = (тут может быть путь к hgsubversion, если его не видит mercurial)
Включился ли hgsubversion можно посмотреть командой

Code: Select all

hg help extensions
1. Клонируем репозиторий KolibriOS:

Code: Select all

hg clone svn://kolibrios.org kolibri.hg
Достаточно долгая операция, надо сказать.
Теперь мы имеем полноценный Mercurial репозиторий, с импортированной историей, и бранчами.

2. Добавляем путь к оригинальному репозиторию - делаем в каталоге kolibri.hg/.hg файл .hgrc (персональные настройки для KolibriOS) и добавляем туда следующую секцию

Code: Select all

[paths]
default = svn://kolibrios.org
Теперь мы можем получать последние изменения из оригинального репозитория командой

Code: Select all

hg pull
hg up <name_of_the_head>
где <name_of_the_head> - имя HEAD, куда мы обновим полученную с головного репозитория информацию

Для прямого пуша в svn:

Code: Select all

hg pull
hg up <head>
hg rebase --svn
hg push --svn
Или вариант для создания патча:

Code: Select all

hg pull
hg up <head>
hg rebase --svn
hg di -b -r <last_svn_revision>:<your_tip> > mybugfix.patch
В остальном теперь мы можем работать с полученным репозиторием, как с обычным репозиторием Mercurial.

Git

Нужно установить Git
Также необходимо из svn log извлечь информацию о всех авторах и сделать файл authors.txt такого формата:

Code: Select all

name1 = Name1 Surname1 <name1@mail.address>
name2 = Name1 Surname1 <name2@mail.address>
1. Клонируем репозиторий kolibri:

Code: Select all

mkdir kolibri-git
cd kolibri-git
git svn clone --prefix=svn/ --stdlayout --authors-file=authors.txt svn://kolibrios.org

Re: KolibriOS и работа с Mericurial, Git

Posted: Thu Jun 16, 2011 9:26 pm
by Mario
PROFIT?

Re: KolibriOS и работа с Mericurial, Git

Posted: Thu Jun 16, 2011 9:29 pm
by XVilka
Для тех кто хотел Distributed Version Control Systems - пусть будет статья. Позже добавлю про Git.
Никто никого не заставляет пользоваться Mercurial/Git - кому как больше нравиться.

Re: KolibriOS и работа с Mericurial, Git

Posted: Thu Jun 16, 2011 9:33 pm
by Mario
Вопрос не в этом. Прежде чем куда-то мигрировать лемминг хочет знать, какие плюшки его там ждут и ждут ли вообще.

Re: KolibriOS и работа с Mericurial, Git

Posted: Thu Jun 16, 2011 9:37 pm
by Gluk
Mario, git, mercurial возможны без центрального сервера в принципе

Re: KolibriOS и работа с Mericurial, Git

Posted: Thu Jun 16, 2011 9:54 pm
by Mario
А как проблемы с тем что информация попадет не всем заинтересованным лицам, если например синхронизировались два человека и оба отвалились?

Re: KolibriOS и работа с Mericurial, Git

Posted: Thu Jun 16, 2011 9:57 pm
by XVilka
тут очень просто делать merge, rebase, также просто экспортировать changesets

А еще прикольная вещь:

Code: Select all

hg serve
И заходим браузером на http://localhost:8000/

Re: KolibriOS и работа с Mericurial, Git

Posted: Thu Jun 16, 2011 10:02 pm
by Gluk
Mario, про отвалившихся людей не понял. Для информации типа "я сделал(а) USB, см. мой репозиторий" есть форум. С ftp, svn, как показывает практика, не всё всегда попадает везде

Re: KolibriOS и работа с Mericurial, Git

Posted: Thu Jun 16, 2011 10:10 pm
by Mario
Gluk wrote:Mario, git, mercurial возможны без центрального сервера в принципе
Про отвалившихся людей, работающих без центрального хранилища.

Re: KolibriOS и работа с Mericurial, Git

Posted: Thu Jun 16, 2011 10:15 pm
by Gluk
Mario, если тебе надо X, ты берешь это с репы, где оно есть. Если не надо - не берёшь (напр. зачем atikms, если у тебя нет ati). Если у тебя нет бага, который кто-то поправил в Y, тебе нет нужды мержиться с Y, ведь у тебя все работает.

Re: KolibriOS и работа с Mericurial, Git

Posted: Thu Jun 16, 2011 10:22 pm
by Mario
Gluk wrote:Если у тебя нет бага, который кто-то поправил в Y, тебе нет нужды мержиться с Y, ведь у тебя все работает.
Мне не нравится такой подход - я потом должен искать этого кого-то когда мне внезапно потребуется его фикс? Центральная база - это центральная база. Без нее хреново.

Re: KolibriOS и работа с Mericurial, Git

Posted: Thu Jun 16, 2011 10:31 pm
by Gluk
Mario, а где ты будешь его искать в случае если он его не на репу, а на фтп зальёт в такой же доступности? Вот там же и в случае репы искать надо

Re: KolibriOS и работа с Mericurial, Git

Posted: Thu Jun 16, 2011 10:32 pm
by yogev_ezra
Я согласен с Марио. Нас и здесь неплохо кормят :-P

Re: KolibriOS и работа с Mericurial, Git

Posted: Thu Jun 16, 2011 10:34 pm
by Gluk
yogev_ezra, вот именно, кормят. Тот, кто оплачивает хостинг с пресловутым центральным сервером.

Re: KolibriOS и работа с Mericurial, Git

Posted: Thu Jun 16, 2011 10:38 pm
by Mario
Я вообще-то серьезно излагаю - децентрализация это жопа! И мне это не нравится.
В данном обсуждении не важно кто оплачивает хостинг - это вообще отдельный разговор.
Вообще не понимаю эту дурацкую привычку переводить разговор в русло хер знает чего.

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