Вопрос по dvcs, mercurial, sourceforge, version-control – Рекомендуемый механизм DVCS для размещения множества независимых патчей

2

У меня есть проект, который только начинаетсяhttp://sourceforge.net/projects/iotabuildit/ (подробнее наhttp://sourceforge.net/p/iotabuildit/wiki/Home/), который в настоящее время использует Mercurial для контроля версий. И кажется, что у Mercurial и SourceForge почти есть все нужные функции или элементы для объединения механизма сотрудничества, который я имею в виду для этого проекта, но я думаю, что я еще не совсем там. Я хочу, чтобы люди могли представлять, обсуждать и голосовать по отдельным изменениям от большого числа людей (больше разработчиков, чем обычно имел бы проект). И я хочу, чтобы пользователям было как можно проще участвовать в этом. Мысль сейчас заключается в том, что люди могут клонировать «free4all». fork, который является клоном базового «кода» репозиторий, или они могут создать свой собственный форк в своем собственном пользовательском проекте SourceForge (теперь SourceForge предоставляет каждому пользователю рабочее пространство для размещения различного контента, связанного с проектом). Затем они могут клонировать это в свой локальный репозиторий (после загрузки TortoiseHg или их предпочтительного клиента Mercurial). Затем они могут вносить изменения, фиксировать их, выдвигать их на развилку и запрашивать слияние с базовым «кодом». репозиторий, после чего мы можем обсудить / рассмотреть запрос на слияние. Это все еще слишком много шагов и более формально, чем мне хотелось бы.

Я вижу, что существует такая вещь, как "стеллажи" в Mercurial, но я не вижу, как / если это поддерживается в репозитории SourceForge. И, вероятно, нет способа обсудить отложенные изменения, поскольку есть запросы на слияние.

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

Specify any version that they would like to play, and have that requested version extracted from source control hosted for the user to play at SourceForge (because the game can't be played locally due to security restrictions the Chrome browser properly applies to javascript code accessing image content in independent files) Allow the user to download the requested version of the project for local editing (a C# version built from the same source is also playable locally, or Internet Explorer apparently ignores the security restriction, allowing local play in a browser) Accept submitted modifications in a form that can be merged with any other compatible "branch" or version of the game that has been submitted/posted (ideally this would be very simple -- perhaps used just uploads the whole set of files back to the server and the compare and patch/diff extraction is performed there) Other players can see a list of available submitted patches and choose any set to play/test with, then discuss and vote on changes.

Очевидно, что некоторые из этих требований очень специфичны, и мне, вероятно, потребуется написать некоторый код на стороне сервера, если я хочу достичь идеальной цели. Но я хочу пойти по пути наименьшего сопротивления и использовать доступные технологии, если большая часть необходимой мне функциональности уже почти готова. Или я хотел бы посмотреть, смогу ли я приблизиться к описанному ранее процессу без написания какого-либо серверного кода. Так что же поможет мне сделать это? Mercurial & amp; Поддержка SourceForge для хранения и совместного использования отложенного кода так, как я хотел бы? Есть ли что-то для этой "очереди исправлений"? (что я вижу, но пока не могу понять или приступить к работе), что может помочь? Есть ли способ извлечь файл исправления из заданного набора файлов по сравнению с определенной версией в хранилище (на стороне сервера), не загружая при этом какие-либо компоненты Mercurial?

Для всех, кто интересуется, есть статический образец игры наsgdk2.enigmadream.com/ben/iotaBuildIt/iotaBuildIt.html, Я хотел бы разместить любую версию аналогично, а не только официально выпущенную версию. BlueMonkMN

Ваш Ответ

1   ответ
4

Это похоже на то, что вы можете сделать с очередями исправлений Mercurial Queue (MQ). Очередь исправлений может быть собственным, отдельным версионным хранилищем, и люди могут использовать «охранники». применять только те патчи, которые они хотят попробовать.

Но на самом деле звучать еще проще, используя bitbucket или github, оба из которых имеют встроенные в них отличные рабочие процессы отправки, проверки и принятия патчей.

@SteveKaye Есть ли где-нибудь, где я могу увидеть заявление на этот счет? Это не очевидно при регистрации или на домашней странице. BlueMonkMN
Похоже, что bitbucket бесплатен только для 5 пользователей, и я надеюсь, что мой проект позволит отправлять патчи сотням пользователей. Существует ли какой-либо специальный механизм, позволяющий людям отправлять исправления на битовую корзину, не считаясь "пользователем"? BlueMonkMN
Это бесплатно для проектов с открытым исходным кодом, если вы над этим работаете.
Ну, это немного тупо, но на странице с ценами сказано, что она бесплатна для пяти пользователей, и пользователь определяет ее как человека, имеющего доступ к одному из ваших личных репозиториев. Это подразумевает, что публичные репозитории не влияют на ценообразование. Вы можете по электронной почте [email protected] для разъяснения.
Мне трудно понять, как использовать mq с bitbucket, и Google не помогает (я вижу документы от 4 лет назад, которые не помогают). Должен ли я задать отдельный вопрос или вы можете объяснить здесь? Используя TortoiseHg 2.1.1, я смог получить незафиксированный патч для перехода в очередь патчей, видимую в очереди патчей bitbucket для моего связанного репозитория mq. Мне пришлось явно добавить файл .diff и файл серии в набор изменений и проверить параметр ключа --mq. Теперь я вижу незафиксированный патч в новом клоне. Но если я удалю его, я не смогу вернуть его без повторного клонирования. Я делаю беспорядок? BlueMonkMN

Похожие вопросы