Uso del repositorio de colas de parches de Mercurial en BitBucket para muchos usuarios y parches
Lo siento por la pregunta de muchas partes, pero me cuesta entender los métodos para usar una cola de parches de Mercurial con BitBucket, y Google no está ayudando mucho. Mi esperanza es que una respuesta que describa algunos conceptos de MQ cubra muchas de las preguntas a la vez. he leídohttp://ches.nausicaamedia.com/articles/technogeekery/using-mercurial-queues-and-bitbucket-org, pero parece estar desactualizado e incompleto. Mi plan general es permitir una multitud de cambios enviados desde una multitud de usuarios sin necesariamente comprometerlos en una sucursal. Estos parches representan modificaciones opcionales que los jugadores están haciendo en un juego para mejorar y extender el juego. Y quiero que los usuarios puedan elegir un parche arbitrario o un conjunto de parches para jugar y revisar. Cuando entiendo bien cómo funciona hg, tengo la intención de escribir algunos scripts PHP o algo para extraer una rama más un conjunto seleccionado de parches en un área de trabajo para que un jugador pueda ejecutar el código HTML5 para su revisión.
I tener podido:
Crear un repositorio en SourceForgehttp://sourceforge.net/p/iotabuildit/wiki/Home, donde originalmente pensé que estaría hospedando todo.Comprometer todo mi código en el repositorio de SourceForge.Tenga en cuenta que BitBucket puede ser un mejor lugar para albergar esto (gracias aMecanismo DVCS recomendado para alojar muchos parches independientes) Dados mis requerimientos.Importe mi código directamente desde el repositorio Mercurial de SourceForge a BitBuckethttp://bitbucket.org/bluemonkmn/iotabuildit/Agregue el URI de BitBucket a TortoiseHg para que pueda usar el mismo repositorio local con cualquier repositorio en línea.Habilitar mq en TortoiseHgQComita un cambio en la cola de parches de mi repositorio local.Crear un repositorio de cola de parches en BitBuckethttp://bitbucket.org/bluemonkmn/iotabuilditmq/.Clone el repositorio de la cola de parches en un repositorio localCopie los archivos de parche del repositorio local original en el repositorio de la cola de parches (aunque me pregunto si hay una mejor manera de hacerlo).Empuje los parches al repositorio de la cola de parches de BitBucket activando el interruptor --mq antes de presionar.Vea los parches listados en BitBucket.Clone una copia nueva del repositorio de la cola de parches de BitBucket y vea los parches disponibles en el repositorio local (junto con el resto del árbol).Las cosas que yohipocresía averiguar o tener preguntas sobre son:
¿Debo mantener localmente el repositorio principal y el repositorio de parches?¿Puedo / debo usar el repositorio de parches con SourceForge? (Si puedo, puedo abandonar BitBucket).¿SourceForge soporta mq? (¿SourceForge alguna vez me dará un repositorio clonado con los parches en él como lo vi en BitBucket?)¿Puedo / debo usar el repositorio original con el repositorio de parches de BitBucket? (Si puedo, puedo abandonar el repositorio en SourceForge).¿Debo usar un repositorio cuando se trabaja en el código destinado a los parches y el otro cuando se trabaja en el código destinado a ser comprometido formalmente?¿Cuál es la mejor manera de empujar unparche en un repositorio en línea?¿Hago un QCommit o QNew en el repositorio de parches local, luego presiono con el modificador --mq?En algún momento durante mi proceso, envié una serie y un archivo .diff al repositorio de parches, que parecía un poco apagado. ¿Esto ha afectado mi percepción de cómo se supone que mq y BitBucket funcionan?¿Debería estar enviando archivos .diff al control de origen en BitBucket o SourceForge? (En algunos casos, QCommit parece querer cometer archivos .hgignore, series y .diff)¿Se supone que los usuarios pueden ver los parches aplicados y / o no aplicados pendientes en un repositorio de parches después de clonarlo?¿Hay alguna forma de obtener los parches disponibles en un local?o ¿Repositorio remoto sin clonarlo?Una vez que eliminé un parche en mi repositorio local, no pude descubrir cómo recuperarlo del repositorio remoto sin volver a clonarlo, ni tampoco pude averiguar cómo realizar la eliminación del parche.No pude transferir el parche de mi repositorio original al repositorio de parches sin copiar manualmente los archivos de parches.¿Pronto me encontraré con un problema en el que no podré seleccionar algunos parches de la cola sin tener otros parches delante de él en la misma cola? Me preocupa que algunos jugadores se nieguen a hacer sus parches en una rama / cola / lo que los pondrá en línea con los cambios no relacionados del mismo usuario (o incluso de otro). Cualquier sugerencia en el tratamiento de ese problema potencial también se agradece.¿Es posible (permitir) que un usuario arbitrario envíe un parche sin tener que agregar explícitamente a cada usuario de BitBucket para tener permisos en el repositorio de parches?¿Es recomendable y razonable que todos los usuarios (potencialmente cientos de?) Compartan el repositorio de la cola de parches? Esto sería ideal (en lugar de que cada usuario cree su propio repositorio de parches, si eso es posible) porque no quiero que esto sea complicado para los usuarios, y dado el tiempo que he tomado para entender Mercurial y BitBucket, Temo que cualquier complicación apague a muchos usuarios / jugadores.Como puedes ver, estoy un poco perdido, sin saber qué preguntas hacer. Sospecho que la respuesta es más simple que estas preguntas, pero sin saber la pregunta, es difícil hacer la pregunta correcta. Con suerte, una respuesta que describa la naturaleza de un repositorio de colas de parches aclarará todo esto para mí.