Відмінності між версіями «Mercurial»

Матеріал з Wiki Welard
Перейти до навігації Перейти до пошуку
(Created page with '== Основы работы == Для этого надо отредактировать конфигурационный файл, который находится в ~/.hgrc ...')
 
Рядок 50: Рядок 50:
 
  (branch merge, don't forget to commit)
 
  (branch merge, don't forget to commit)
 
  hg ci -m "merge"
 
  hg ci -m "merge"
−
Можно через WEB:
 
−
http://mercurial.selenic.com/wiki/HgWebDirStepByStep
 
−
 
 
== Отдача обратно ==
 
== Отдача обратно ==
 
  hg push
 
  hg push
 +
 +
== Работа через WEB ==
 +
http://mercurial.selenic.com/wiki/HgWebDirStepByStep

Версія за 10:43, 11 серпня 2009

Основы работы

Для этого надо отредактировать конфигурационный файл, который находится в ~/.hgrc в случае *nix, и в %USERPROFILE%\mercurial.ini в случае Windows. Надо туда добавить пару строчек:

[ui]
username = Alexander Solovyov <piranha@gtv>

Всё начинается с того, что мы создаём репозиторий:

hg init repo

Начать можно с добавления файлов и коммита первой ревизии:

cd repo
echo "something" > read.me
hg add
hg ci -m "Initial revision"

Клонировать его:

hg clone repo repoclone

repoclone — абсолютно идентичен repo в плане наполнения, однако в нём уже появился файл .hg/hgrc, в котором записано, что путь по умолчанию (для забирания и отдавания изменений) — это предыдущий repo:

[paths]
default = /home/andrew/repo

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

piranha@gtv ~/repoclone>hg incoming
comparing with /home/piranha/repo
searching for changes
changeset:   1:99a5a4fc7247
tag:         tip
user:        Alexander Solovyov <piranha@gtv>
date:        Tue Jul 22 14:40:51 2008 +0300
summary:     Another commit

piranha@gtv ~/repoclone>hg outgoing
comparing with /home/piranha/repo
searching for changes
changeset:   1:7cb00df3cf09
tag:         tip
user:        Alexander Solovyov <piranha@gtv>
date:        Tue Jul 22 14:41:21 2008 +0300
summary:     commit in clone

Команды incoming и outgoing показывают соответственно входящие (те, которых ещё нету в локальном репозитории) и исходящие (те, которых не хватает в удалённом репозитории) ревизии. Обратите внимание, что я не указывал путь к удалённому репозиторию — меркуриал в этом случае берёт его из пути по умолчанию (который можно увидеть раньше). Merge

Сложившаяся ситуация подразумевает слияние — у нас появились две ветки разработки, значит пора применять merge:

Забираем изменения

piranha@gtv ~/repoclone>hg pull
pulling from /home/piranha/repo
...
added 1 changesets with 1 changes to 1 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)

Cлияние

piranha@gtv ~/repoclone>hg merge
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
hg ci -m "merge"

Отдача обратно

hg push

Работа через WEB

http://mercurial.selenic.com/wiki/HgWebDirStepByStep