hg-git — хорошее расширение Mercurial для работы с репозиториями Git. Оно
позволяет делать hg push и hg pull по схемам URL git и git+ssh. При этом
остальная работа с локальным репозиторием Mercurial ведётся как обычно.
Добавляются только закладки (Mercurial bookmarks) с ветками Git. Расширение
можно использовать для доступа к проектам на GitHub без необходимости
сползать на git(1).
Вообще системы управления версиями используют сейчас весьма близкие понятия, так что почти всё в них можно выразить в терминах патчей с метаданными, номеров ревизий, списков меток. В этом смысле минимальный набор для управления версиями состоит из diff(1) и patch(1). С подобной точки зрения вся работа программиста заключается в создании diff-ов, производных исходников по времени.
Сейчас много VCS самых разных типов, и это хорошо, так как каждый вибирает то, что ему нужно. Для меня желательно, чтобы эти системы не делали работу с версиями сложнее по сравнению с diff(1) и patch(1), не вносили явно лишние понятия и уровни абстракции. В этом смысле Mercurial — весьма неплохая система.
В конфиге Mercurial hgrc(5) можно объявлять псевдонимы команд, чтобы не
набирать по десять раз сложные опции. Сейчас в моём ~/.hgrc прописаны такие
псевдонимы:
[alias]
qstatus = status --rev qparent:qtip
glog = log -G --template '{rev}:{node|short} {tags} [{author|user}] {desc|firstline}\n'
slog = log --template '{rev}:{node|short} {date|age}\t{author|person}\t{desc|firstline} {tags}\n'
qstatus позволяет выполнить status для просмотра изменённых, вносимых
наложенными патчами Mercurial Queues:
$ hg qser -s
hgignore.patch: Added .hgignore
$ hg qst
A .hgignore
slog и glog позволяют посмотреть текстовый лог в более удобном для чтения
формате. slog похож на лог веб-интерфейса Mercurial:
$ hg slog -l10
48:0d24f8702290 2 days ago Andrey Vlasovskikh Added a draft of Artemis Specification for Developers vlan tip
47:7897c850150f 3 days ago Andrey Vlasovskikh iadd: Added --message
46:1f5ed31cc92a 7 days ago Andrey Vlasovskikh m
45:75596c8e1b93 7 days ago Andrey Vlasovskikh Accepted issue #c76
44:a7f910d43c72 7 days ago Andrey Vlasovskikh A proposal for adding more filter expressions (cec)
43:106b89a8f118 7 days ago Andrey Vlasovskikh Added ilist --mutt issue (c76)
42:d20d07b24282 7 days ago Alexander Solovyov iadd should commit on finish
41:5383d3d5e350 7 days ago Alexander Solovyov issues are created in local date without timezone
40:6ac81157f063 7 days ago Andrey Vlasovskikh merge
39:d013e9b9aba7 7 days ago Alexander Solovyov ishow: add --mutt option to display issue with mutt
glog показывает компактный текстовый граф изменений, лучше помещающийся на
экране, чем стандартный log -G:
$ hg glog -l10
@ 46:1f5ed31cc92a vlan tip [andrey] m
|
o 45:75596c8e1b93 [andrey] Accepted issue #c76
|
o 44:a7f910d43c72 [andrey] A proposal for adding more filter expressions (cec)
|
o 43:106b89a8f118 [andrey] Added ilist --mutt issue (c76)
|
o 42:d20d07b24282 [piranha] iadd should commit on finish
|
o 41:5383d3d5e350 [piranha] issues are created in local date without timezone
|
o 40:6ac81157f063 [andrey] merge
|\
| o 39:d013e9b9aba7 [piranha] ishow: add --mutt option to display issue with mutt
| |
| o 38:c8cf0454e5d1 [piranha] simple .hgignore
| |
| o 37:83910efdbb54 [piranha] remove trailing whitespaces
| |
В командах slog и glog используются шаблоны для форматирования вывода, см.
hg help templating.
Недавно натолкнулся на полезный ресурс с советами по Mercurial — hgtip.com. Рекомендую подписаться или даже поучаствовать в проекте.
Натолкнулся на большое количество источников по распределённым системам управления задачами (distributed issue tracking).
В целом, кажется, что такие системы не столь полезны, как DVCS. Они начали развиваться относительно недавно, но пока не привлекли достаточного внимания. Многие проекты больше не развиваются.
Зато они заставили меня вновь задуматься об идее dissemination networking, локально хранимом блоге и пр. Все эти вещи должны быть простыми, иначе от них никакого толка.
Вот некоторые ссылки по теме:
sd на основе распределённой БД ProphetditzUpd: Ещё есть утилита Artemis — интересное distibuted bug tracking расширение для Mercurial. См. мои модификации к нему в этом репозитории.
Here you can find markdown vim syntax file made by Ben Williams. Put it to the ~/vim/syntax/ folder.
To add syntax...
“This image was taken on September 15, 2006 and received on Earth September 20, 2006. The camera was pointing toward Saturn at approximately 2M...
Well, it looks like GCC 4.3.2 does not comply to C99 specification. It clearly states that:
6.8.6.4.1 ... A...