Как управлять проектом с открытым исходным кодом с помощью Mercurial и Google Code?

У меня есть проект с открытым исходным кодом, размещенный на Google Code с использованием Mercurial. У меня он отлично работает, я вообще люблю ртуть.

У меня есть несколько членов сообщества, которые клонируют мой проект, вносят изменения в свой клон и периодически присылают мне патчи. У этих участников нет доступа для фиксации к главному репозиторию, также известному как «Fork + Pull» модель.

На самом деле мы не нашли для них удобного способа присылать мне пожертвования. Если они предусмотрительно поместят все свои изменения для данной функции в именованную ветвь своего клона, мне будет легко перенести только эти изменения в мастер. Однако они часто не имеют такого предвидения, поскольку многие из этих изменений начинаются с локального вмешательства в их ветку по умолчанию.

Другой альтернативой является рассылка различий с использованием hg export и hg import, но это похоже на 1974 год.

Возможно, ответ может быть где-то в ртутных очередях, но это всегда казалось функцией, ориентированной на «опытных пользователей», и многие из моих разработчиков могут быть экспертами в git, но полными нюансами, когда дело доходит до hg. Мы все еще пытаемся объединить безымянные ветви, я не хочу поощрять их экспериментировать с чем-то, что еще больше усложняет ментальную модель, особенно когда я так мало знаю об этом предмете.

Я чувствую, что, должно быть, ошибаюсь. Кажется, у Github есть хорошая история для этого с его концепцией запросов на вытягивание. Как лучше всего принимать взносы от членов сообщества при использовании mercurial в коде Google?


person emmby    schedule 09.06.2011    source источник
comment
У FWIW Bitbucket есть запросы на вытягивание   -  person sylvanaar    schedule 10.06.2011
comment
Почему их изменения должны быть внесены в названные ветки в первую очередь?   -  person Ringding    schedule 10.06.2011
comment
Им не обязательно быть, но если они есть, то я могу hg pull -b branch-name http://the-clone-repo в свое репо, чтобы получить все их коммиты для этой функции.   -  person emmby    schedule 13.06.2011
comment
Для справки, я отказался от ожидания кода Google для поддержки запросов на вытягивание. Теперь я перенес свой проект на github, и участие сообщества значительно возросло.   -  person emmby    schedule 24.12.2012


Ответы (3)


Используйте BitBucket. Это в значительной степени GitHub для Mercurial. У него есть запросы на вытягивание, средство отслеживания проблем, вики и т. Д.

person Steve Losh    schedule 16.06.2011

Я видел несколько проектов по коду Google, которые перешли с использования кода Google scm на GitHub. Если вы не уверены, что вам следует хранить свой код с кодом Google, вы можете рассмотреть возможность использования GitHub для SCM и кода Google для всего остального в проекте.

person Andrew Savinykh    schedule 12.06.2011

Возможно, воспользуйтесь инструментом проверки исправлений Rietveld - см. http://code.google.com/p/rietveld/wiki/CodeReviewHelp для документации по нему.

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

person ArthurDenture    schedule 12.06.2011