Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Коллективное изучение Mercurial

87
09 июля 2010 года
Kogrom
2.7K / / 02.02.2008
Итак, сделаю пробный шаг. Это не обучение кого-то, а описание моего опыта.
Есть этот стартгид и в основном его использовал:
http://mercurial.selenic.com/guide/

правда тут нет раздела, как установить систему. Так как я устанавливал его уже давно, то не помню как делал, но поиск даёт следующие рекомендации для Debian/Ubuntu:
$ sudo apt-get install mercurial

Далее в стартгуиде написано: откройте ~/.hgrc и добавьте в настройках имя. Однако, такого файла нет... Ладно, создал сам.

Далее примерно так (с комментариями) :
Код:
noname:~$ hg init helloworld  // создал папку проекта
noname:~$ cd helloworld
noname:~/helloworld$ hd add // добавил пустоту...
hd: add: No such file or directory

// Вручную создал файл. С помощью gedit отредактировал. Почему-то создался дополнительный левый файл.

noname:~/helloworld$ hg add
adding topic_1.txt
adding topic_1.txt~
// Пробую удалить левый файл:
noname:~/helloworld$ hg remove topic_1.txt~
not removing topic_1.txt~: file has been marked for add (use -f to force removal)
noname:~/helloworld$ hg remove -f topic_1.txt~
noname:~/helloworld$ hg status
A topic_1.txt
? topic_1.txt~
noname:~/helloworld$ hg commit "first commit"
abort: first commit: No such file or directory

// тут я ступил. Надо было hg commit -m 'first commit'
// но об этом я сразу не догадался, поэтому...

noname:~/helloworld$ hg commit

Select an editor.  To change later, run 'select-editor'.
  1. /bin/ed
  2. /bin/nano        <---- easiest
  3. /usr/bin/vim.gnome
  4. /usr/bin/vim.tiny

Choose 1-4 [2]: 2
noname:~/helloworld$ hg commit
nothing changed
noname:~/helloworld$ hg diff
noname:~/helloworld$ hg log
changeset:   0:a6420337bed7
tag:         tip
user:        Sergey Kupriyanov (Kogrom)
date:        Fri Jul 09 21:51:34 2010 +0400
summary:     first commit

вот такой первый блин. Методом ненаучного подбора понял, что лучше подглядывать сюда:
http://hgbook.red-bean.com/read/how-did-we-get-here.html
а не в стартгуид.

Примечание модератора:
По просьбе большинства попытки к холивару будут пресекаться.
87
10 июля 2010 года
Kogrom
2.7K / / 02.02.2008
Шаг второй. Точнее, пятый, если говорить о плане изучения:
http://forum.codenet.ru/showpost.php?p=327823&postcount=5

То есть создаю клонированный репозиторий на флешке и обновляю его.
Код:
$ hg clone ~/helloworld "/media/SERGS FLASH/helloworld"
updating working directory
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd ~/helloworld
// вношу изменения в проект
$ hg commit -m "Lesson 2"
$ hg push /media/SERGS\ FLASH/helloworld/
pushing to /media/SERGS FLASH/helloworld/
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files

Вот этот push обновляет репозиторий, но не сами файлы в папке проекта. Для из обновления пришлось выполнить дополнительную команду:

 
Код:
/media/SERGS FLASH/helloworld$ hg update
87
11 июля 2010 года
Kogrom
2.7K / / 02.02.2008
Работа над ошибками.
Цитата: Kogrom

Вот этот push обновляет репозиторий, но не сами файлы в папке проекта. Для из обновления пришлось выполнить дополнительную команду:

 
Код:
/media/SERGS FLASH/helloworld$ hg update



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

$ hg pull -u SOURCE

где SOURCE - источник из которого будет обновлён текущий репозиторий. Флаг -u позволит его обновить.

Попробовал создать копию внешнего репозитория. Это оказалось совсем просто. Тупо перекопировал исходник книги http://hgbook.red-bean.com/ с помощью команды:
hg clone http://bitbucket.org/bos/hgbook
после чего благополучно удалил его, ибо лень разбирать как его собирать.

То есть выполнил пункт 7 плана изучения.

Порадовала команда hg serve, создающая сервер с репозиторием. Это позволяет просматривать историю изменений проекта с помощью веб-страниц.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог