Які найкращі та обов’язкові розширення рт.ст. / ртутного типу? [зачинено]


74

Останнім часом я займаюся hg / mercurial, а саме спільно з Fogcreek's Kiln, і намагаюся з’ясувати, які обов’язкові розширення. Це трохи хитро проглядає їх список розширень, тому що я не зацікавлений у тестуванні будь-яких помилок або непрактичних розширень, навіть якщо їх опис звучить приголомшливо.

Отже, які розширення hg ви використовуєте?

Див. Розділ Використання розширень


Можливо, НЕ "деп" - моє початкове тестування робить його занадто глючним / новим для використання
JJ Rohrer

До списку я також додав би розширення завдань для управління "завданнями кодування" та розширення підказки для відображення інформації про сховище в підказці оболонки. Підказка може використовувати розширення завдання. Вони обидва не постачаються з рт. Ст.
Паоло

Відповіді:


99

Мій власний список хітів:

Найпростіші, які ви повинні мати:

  1. color: розфарбувати вихідні дані таких команд, як diffі status, що полегшує оцінку.
  2. pager: перегляд довгого виведення сторінки за раз.
  3. fetch: витягнути, оновити та об’єднати з іншого репо в один крок.
  4. graphlog: відображати графіки ревізій у вашій оболонці, неймовірно корисно для перегляду гілок у вашій історії журналів.
  5. hgk: перегляд сховища з графічним інтерфейсом (див. також TortoiseHg та Murky)

Якщо ви ввімкнули pager, вам слід налаштувати його, щоб він не заважав певним командам:

[pager]
pager = LESS='FSRX' less
ignore = version, help, update, serve, record

Проміжні розширення, які я настійно рекомендую (і часто використовую):

  1. record: дозволяє інтерактивно вибирати багато файлів для фіксації - ідеально підходить, коли ви перебуваєте в центрі одного набору змін, і в кінцевому підсумку виправляєте щось, що повинно мати власний коміт.
  2. extdiff: налаштуйте зовнішній інструмент різниці (наприклад, meld)
  3. share: якщо кілька клонів використовують одну і ту ж історію репо

Розширених розширень, без яких я не був би:

  1. mq: керувати стеком патчів. Дуже потужний, дозволяє накладати плями на дерево.
  2. notify: надсилати сповіщення електронною поштою про зміну репо.
  3. rebase: повторно застосувати локальні зміни поверх нової батьківської версії.
  4. largefiles: робота з великими двійковими файлами поза магазином hg

Все вищевказане постачається в комплекті з Mercurial, є стабільним і добре перевіреним. Я настійно рекомендую їх усіх.

Неосновні розширення, які варто дослідити:

  1. shelve: вибірково відкласти зміни (за детальністю деталей) та відновити їх.
  2. acl: вибірково дозволити доступ до різних частин дерева сховища

Замінено розширення та перенесено на ядро ​​(інформація від @ durin42):

  • forestбула замінена subrepoпідтримкою, представленою у версії 1.3
  • bookmarks знаходиться в основному і завжди включений
  • transplantвитісняється graftосновною командою
  • histedit знаходиться в ядрі з версії 2.3, але за замовчуванням вимкнено
  • inotify не рекомендується, оскільки, мабуть, є помилка через стан перегонів

Будь-які інші коментарі щодо Субрепо проти Лісу? Я не впевнений, що будь-який з них насправді корисний / придатний для використання - це може означати, що я просто "роблю це неправильно". Мене особливо цікавить суттєве вдосконалення "екстерналу" SVN
JJ Rohrer

колір не працює в Windows ( mercurial.selenic.com/bts/issue1579 )
Джером

1
@Jerome Розширення кольору, здається, чудово працює в Cygwin.
gavinb

1
Створіть чудовий список із цим всередині! :) Є один для git . Я не користуюся ртуттю багато, але, схоже, є багато корисних речей і для ртуті!
GabLeRoux

2
Вони зі списку позначені як засуджується : fetch, graphlogі record. Побачив це за допомогоюhg extensions help
GabLeRoux

9

graphlogі mqособливо смачні.

  1. Конвертувати: конвертувати в та з інших систем
  2. Mq (Ртутні черги): обробляйте зміни як стек виправлень
  3. Ліс: дозволяє виконувати та оновлювати багато вкладених сховищ Mercurial одночасно
  4. Спільний доступ: для економії часу та дискового простору при роботі з подібними сховищами
  5. Hgk: дає графічне уявлення про історію
  6. Graphlog: Я завжди набираю "hg glog", а не "hg log". Ascii мистецький погляд на історію
  7. Пересадка: корисно, коли потрібно об’єднати лише кілька наборів змін з іншої гілки. Новіші hg rebaseможуть мати певне перекриття.
  8. Перебазувати: інший спосіб роботи зі змінами як набором наборів змін поверх гілки. gitкористувачі люблять перебазувати. Може замінити mqдля багатьох випадків використання.
  9. Стелаж: Місце для зберігання змін робочої копії, якщо вам доведеться деякий час попрацювати над чимось іншим.
  10. Закладки: Назвіть найновіший коміт для певної гілки. Подібно до gitгілок.

graphlog тепер вбудований і завжди вмикається -gдля команди журналу (і вхідного вихідного IIRC).
Ry4an Brase

Ry4an: значення "зараз" означає підказку? Не в 1.4.1 AFAICT.
Carl Meyer

1
-gПрапор для журналу, щоб включити GIT стилю, подивитися відмінність , який повністю відрізняється від graphlog.
jamessan

1
Моя помилка. Це -Gвивести графік із графіка, але наразі вам все ще потрібно ввімкнути розширення.
Ry4an Brase,

Ви також можете додати progressрозширення

9

Ще не згадано: mercurial_keyring

https://www.mercurial-scm.org/wiki/KeyringExtension

"Розширення брелока використовує послуги бібліотеки ключів для надійного збереження паролів автентифікації (HTTP / HTTPS та SMTP), використовуючи специфічну для системи базу даних паролів (Gnome Keyring, KDE KWallet, OSXKeyChain, спеціальні рішення для Win32 та командного рядка)."

Я використовую ssh для доступу до своїх репозиторіїв на GitHub та Bitbucket, і моя ключова фраза утримується в брелоку. Це розширення дозволяє Mercurial отримувати його, коли це потрібно.

Також для мене потрібно: hg-git

http://hg-git.github.com/

Mercurial плагін дозволяє вам тягнути та натискати git repos, використовуючи hg як клієнта. Використовуйте його весь час.



1

Мій список:

  1. графік. Я використовую його набагато більше, ніж журнал hg. (бажаю, щоб це могло обмежуватися лише філіями)

  2. продувка. видалити всі файли, що не входять в Mercurial. Я використовую це замість чистішої версії make clean.

Менше використовується, але приємно:

  • діти (дозволяє сказати "hg kids -r XXX")
  • parentrevspec: дозволяє говорити такі речі, як "foo ~ 2 = foo ^ 1 ^ 1 = foo ^^ = перший батько першого батька foo"

Я продовжую намагатися використовувати інструменти редагування історії, але продовжую впадати в обмеження. Я хочу, щоб вони працювали.

  • крах
  • histedit
  • Я вважаю також перебазувати історію редагування історії

До речі, будьте обережні: hgk та fetch - "нелюбимі": https://www.mercurial-scm.org/wiki/UnlovedFeatures . Але тоді SubRepos є не нелюбимим, а особливістю останньої інстанції, і я використовую subrepos.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.