Mq в подрепозитории без доступа на запись

У меня есть зависимость в качестве подрепозитория (без доступа на запись) в моем проекте. Я хотел бы добавить несколько личных настроек в этот подрепозиторий, возможно, используя mq.

Я также хотел бы иметь возможность просто клонировать основное репо, чтобы построить его. В настоящее время я должен:

  1. клонировать репо - с автоматическим клонированием подрепозиториев
  2. вручную клонировать все очереди исправлений для подрепозиториев

Как избавиться от шага 2? Возможно ли это вообще без внешнего сценария? (Я использую битбакет, если это имеет значение).


person Łukasz Gruner    schedule 26.08.2012    source источник


Ответы (1)


Одна из идей состоит в том, чтобы сделать подрепозиторий не репозиторием, к которому у вас нет доступа для записи, а вашим собственным клоном на основе их репо.

cd myclones hg clone http://notmydomain.com/their-repo my-clone-of-their- репо

и в вашем проекте .hg/hgrc вы используете раздел [subpaths] для сопоставления их URL с вашим локальным клоном:

[subpaths]
http://notmydomain.com/their-repo = ../my-clone-of-their-repo

Затем вы получаете свое репо, используя локальный (чтение-запись) клон их репо, к которому у вас есть доступ только для чтения. Это имеет несколько преимуществ:

  • быстрее -- вы проверяете только локальные репозитории на наличие всех действий
  • записываемый - вы можете редактировать директорию в myproject/their-repo и зафиксировать и отправить (в свой локальный клон)

И когда вы хотите объединить их исходные изменения, вы просто заходите в ../my-clone-of-the-repo и hg pull и hg merge их обновления в свои настройки.

person Ry4an Brase    schedule 27.08.2012
comment
поддержание собственного клона — это то, чем я не хочу заниматься. иметь инопланетный репозиторий в качестве субрепозитория — слишком большая победа, чтобы я мог его игнорировать. - person Łukasz Gruner; 27.08.2012
comment
Наличие чужого репозитория + mq поверх него почти идентично наличию клона чужого репозитория. Действительно, они почти функционально идентичны. - person Ry4an Brase; 27.08.2012
comment
MQ также является репозиторием, требующим такого же уровня управления. На самом деле это почти аналогичные схемы с разной показухой. - person Ry4an Brase; 28.08.2012
comment
извини, чувак, твой ответ не решил мой вопрос, извини, я не могу его принять, разберись с этим, пожалуйста. - person Łukasz Gruner; 29.08.2012
comment
Мне не нужно, чтобы вы это принимали — это для следующего человека с тем же вопросом. Я надеюсь, вы поняли, что такое mq, а что нет, и почему это редко бывает правильным выбором, особенно учитывая недавние (и будущие) функции (такие как этапы, устаревшие и т. д.) в последних выпусках. - person Ry4an Brase; 30.08.2012