@ go-gitea / mantenedores
Después del cierre del # 1029, creo que deberíamos hacer un nuevo plan sobre el próximo gran paso. ¿Alguna idea sobre eso?
Una solución de complemento (incluido el tema) para extender gitea.
¿Sería posible agregar paquetes de sistema operativo adecuados al proceso de compilación? He estado tratando de armar algo para Fedora, pero parece un desastre empaquetarlo. # 31 habla sobre esto, pero todavía parece estar abierto.
Estamos usando ansible para implementar el tarball en el sistema Debian, esto no es muy útil pero funciona. Los repositorios para las distribuciones más comunes estarían bien, pero es necesario instalarlos y mantenerlos.
Algunas sugerencias:
Solicitudes de extracción / problemas / bifurcaciones federadas
Solicitudes de extracción / problemas / bifurcaciones federadas
Tal vez no federado en el sentido de la palabra Fediverse (ActivityPub, OStatus, diaspora *, etc.) pero me gustaría tener la capacidad de interactuar con instancias remotas de la propia implementada de la manera que mejor se adapte al proyecto.
También puede ser interesante tener equipos y organizaciones formados por usuarios de varias instancias, aunque probablemente sería increíblemente difícil de implementar.
Dos sugerencias del punto de vista de un usuario final con habilidades mínimas de codificación que intenta ayudar a los proyectos de código abierto que utilizo informando errores y dando retroalimentación de UX:
1) ¡Ayude a estandarizar ForgeFed! Me encantaría que la UX de archivar errores en la instancia de Gitea (y otras falsificaciones de código alojadas en la comunidad) sea como un GH enorme y descentralizado.
2) Convierta cada parte de un proyecto en un repositorio de Git, de modo que los problemas, wiki, etc. puedan extraerse, ramificarse, insertarse o bifurcarse fácilmente. GL y sr.ht hacen esto con al menos algunos de sus componentes. Además de ser útil, esto podría ayudar potencialmente con el punto 1)
La capacidad de responder a los tickets por correo electrónico sería un gran paso adelante para la usabilidad.
Permita la edición de toda la configuración desde la interfaz de usuario (y tal vez cambie el formato del archivo de configuración durante el proceso)
Tal vez almacene la mayoría de la configuración dentro de la base de datos y proporcione la cli y la api adecuadas para ello
@sapk @tboerger Yo diría que deberíamos cambiar a viper para la configuración, de esa manera podríamos deshacernos de ini (y algunos de los errores que teníamos con él) y obtener cosas como recargar la configuración mientras Gitea se está ejecutando y las variables env adecuadas .
Estaría dispuesto a abordar esto, pero no estoy seguro de encontrar el tiempo en un futuro más cercano.
Yo también estoy a favor de Viper. Intenté hacerlo hace 2 años, pero no tuve tiempo de terminarlo ... pero puedo intentarlo de nuevo :)
Estoy a favor de obtener un archivo de configuración más mínimo ... Muchas de estas configuraciones no necesitan establecerse a través de un archivo de configuración estático y podrían agregarse fácilmente a la base de datos y almacenarse en caché por razones de rendimiento.
Creo que al principio podríamos agregar una tabla de configuración de la base de datos y mover la mayoría de los elementos de configuración cambiables allí desde el archivo ini y solo dejar los elementos que necesitan recargarse.
@lunny y todo: acepte mover muchas configuraciones a la base de datos y permitir que se configuren en la interfaz web (ya sea en todo el sitio o en el repositorio) se siente como un buen paso adelante. También sería fácil tener una herramienta como tea o gitea para cambiar esos valores desde la línea de comandos, de modo que aún podría escribir una configuración predeterminada.
El sistema de módulos suena genial. Creo que hay muchas personas dispuestas a agregar nuevas funciones a gitea.
@belliash @sapk Los complementos / módulos IMO no se pueden implementar de manera eficiente sin refactorizar el paquete de modelos por completo y agregar más abstracción. Probé varias tecnologías, como la compatibilidad con complementos nativos de Go.
El resultado fueron binarios gigantes que dependen en gran medida del binario de Gitea.
Creo que mejorar la compatibilidad con webhooks y agregar páginas personalizadas mediante webhooks es más realista de implementar, ya que ya tenemos una API madura y silenciosa que se puede usar para operaciones de bases de datos.
@jonasfranz Yo estaría muy a favor de refactorizar modelos para eliminar muchas de sus dependencias.
go list -f '{{ .Imports }}' code.gitea.io/gitea/models
revela 98 (!) importaciones directas. 50 de los cuales son núcleo non-go.
go list -f '{{ .Deps }}' code.gitea.io/gitea/models
revela 437 (!!) dependencias transitivas. (304 de los cuales son núcleo non-go)
Mire la fuente del dron, allí tenemos muchas cosas conectables basadas en webhooks.
Además de eso, un modelo de complementos como el empaquetador tiene sentido, un sistema de complementos basado en grpc.
@tboerger ¿Puede proporcionar un ejemplo de las cosas conectables de los drones? ¿Te refieres al sistema de complementos basado en imágenes de Docker?
Estoy hablando de las extensiones para configuraciones, secretos, etc., las interfaces deben definirse en https://github.com/drone/drone/tree/master/plugin
Estoy de acuerdo contigo, el próximo gran paso de Gitea debería ser el sistema de complementos. También estoy pensando en esto estos días. Probaré el sistema de complementos.
Creo que debería ser similar con el sistema de complementos de drone, pero tiene más. Tenemos que permitir que un complemento tenga una interfaz de usuario y debería iniciar sesión con OAuth2 de Gitea automáticamente. Y deberíamos tener alguna política de seguridad sobre los complementos. y etc.
Quiero compartir una tabla de comparación que hicimos alrededor de 2016 para _decidir_ qué plataforma de alojamiento elegir para la Fundación Geoespacial de Código Abierto. En esa tabla enumeramos las características que eran importantes para nosotros. Gitea está en una de las columnas:
https://wiki.osgeo.org/wiki/GitInfrastructureComparison
Verá que una característica importante que faltaba en 2016 todavía falta hoy: respuesta por correo electrónico (comentario / respuesta) --- algunas otras se han implementado a partir de hoy.
La herramienta migrate from github
y Comments on diff lines
están listos.
Necesita personalización de la plantilla de correo
Ver # 6037
Así que ya es posible un poco de personalización de la plantilla: la línea de asunto es lo único que no creo que tengamos.
Sin embargo, lo que realmente deberíamos estar haciendo es habilitar i18n para el correo electrónico y los mensajes de git serv hook.
Es necesario revertir una solicitud de extracción.
Ver # 6375
Soporte completo de etiquetas en la interfaz de usuario. Crear, asignar, cambiar, eliminar, etc. Realmente extraño esta función.
Soy partidario de config en base de datos (con cli o api para configurarlo, como crear usuario y autenticación ldap, etc.) y sistema de plugins.
Esos dos deberían impulsar a gitea un gran paso adelante.
$GITEA_ROOT/owner/reponame
es una mala decisión arquitectónica en mi humilde opinión y lleva a los usuarios a suponer que nuestros repositorios aún pueden ser usados por git en el servidor sin pensamiento adicional - NO DEBEN. Deberíamos movernos a $GITEA_ROOT/repository-$ID
, posiblemente fragmentado. (Hacer esto permitiría eliminar muchas llamadas a repo.MustOwner()
o repo.GetOwner()
).git/config
o la variable central .gitconfig
core.hooksPath
y piense dónde vamos a colocar los ganchos de otra manera.code.gitea.io/gitea/models
depende de demasiadas cosas que esto tiene que terminar.models.x
debe ser destruido. Es una terrible decisión arquitectónica.En la parte de la interfaz de usuario, sugeriría entregar dos interfaces de usuario:
- creo que deberíamos tomarnos en serio el cambio a la ginebra propuesto por @lunny
Sugeriría go-chi en lugar de ginebra.
- Debemos automatizar la eliminación de la documentación de nuestro sitio web de hugo para que pueda internacionalizarse con CrowdIn
En mi humilde opinión, el sitio web / documentos no deben traducirse en absoluto, de todos modos siempre está desactualizado ...
En mi humilde opinión, el sitio web / documentos no deben traducirse en absoluto, de todos modos siempre está desactualizado ...
Pero con el crowdin, estar desactualizado notificaría a las personas e invalidaría las traducciones actuales.
¿Sería posible agregar paquetes de sistema operativo adecuados al proceso de compilación? I
Quizás los paquetes de estilo PPA controlados y versionados por los desarrolladores de GItea serían una buena idea, pero no soy fanático de la forma de versionar "parches de seguridad de congelación y backport" estilo Debian para proyectos de rápido movimiento (como GItea)
Todavía me gustaría tener https://github.com/go-gitea/gitea/issues/3840.
Creo que se puede implementar con compatibilidad con versiones anteriores.
Pero esto quedará claro solo después de que se establezca la migración de la nueva biblioteca de enrutamiento.
Una limpieza / refactorización fundamental como requisito previo también lo haría más fácil.
Todavía me gustaría tener el # 3840.
Creo que se puede implementar con compatibilidad con versiones anteriores.
Pero esto quedará claro solo después de que se establezca la migración de la nueva biblioteca de enrutamiento.
Una limpieza / refactorización fundamental como requisito previo también lo haría más fácil.
En ese caso, es posible que pierda el soporte de Drone, ya que actualmente tampoco está implementado para Gitlab.
Todavía me gustaría tener el # 3840.
Creo que se puede implementar con compatibilidad con versiones anteriores.
Pero esto quedará claro solo después de que se establezca la migración de la nueva biblioteca de enrutamiento.
Una limpieza / refactorización fundamental como requisito previo también lo haría más fácil.
Probablemente no necesitemos esta función de grupo para afectar las URL del repositorio, simplemente podríamos crear carpetas en las que el repositorio podría colocarse en la pantalla, pero mantener las URL del repositorio igual que ahora.
@tboerger
Mi pensamiento fue que la URL puede permanecer igual si un repositorio no está anidado en un grupo / directorio.
Las URL deben "actualizarse" solo si el repositorio utiliza la función de grupo / directorio.
Pero sí, los repositorios con las nuevas URL probablemente no podrían tener compatibilidad con Drone de fábrica.
@lafriks
Eso suena como una buena idea. Mi escenario de uso de la función es alojar módulos Git o los subproyectos de proyectos Repo. Entonces, no estoy seguro de que cubra ese caso.
No hay problema. Soy reacio a hacer un cambio tan extenso, y posiblemente rompedor, también.
Este problema tiene una buena idea y deberíamos mantenerlos y abordarlos.
Sin embargo, ¿cuándo y cómo deberíamos elegir? Esta discusión puede durar para siempre.
Sugeriría que el propietario elija los temas o una votación entre ellos y los miembros.
¿Qué piensas?
@DblK Eso es correcto. Pero creo que podríamos hacer eso después de migrar a gitea.com. Actualmente necesitamos más comentarios de los usuarios.
- Soporte mercurial
No por favor. Se llama "git" ea por una razón.
Entiendo el deseo de tener un alcance más amplio pero
la hinchazón está a la vuelta de la esquina ...
la importación mercurial sería una alternativa
El 26 de julio de 2019 1:52:50 PM UTC, Sandro Santilli [email protected] escribió:
- Soporte mercurial
No por favor. Se llama "git" ea por una razón.
Entiendo el deseo de tener un alcance más amplio pero
la hinchazón está a la vuelta de la esquina ...-
Estás recibiendo esto porque hiciste un comentario.
Responda a este correo electrónico directamente o véalo en GitHub:
https://github.com/go-gitea/gitea/issues/6998#issuecomment -515461704
Solicitudes de extracción / problemas / bifurcaciones federadas
Tal vez no federado en el sentido de la palabra Fediverse (ActivityPub, OStatus, diaspora *, etc.) pero me gustaría tener la capacidad de interactuar con instancias remotas de la propia implementada de la manera que mejor se adapte al proyecto.
Ya hay una discusión sobre esto en el n. ° 1612. ForgeFed recopila algunas ideas interesantes para que la federación forme códigos como Gitea. ¡Sería increíble si esta fuera la próxima gran característica de Gitea!
Me encantaría una herramienta de diferenciación visual para archivos gráficos (JPEG, PNG, pero también PDF), similar a la que ofrece Github .
Ya tenemos un PR para diferenciar imágenes
Ya tenemos un PR para diferenciar imágenes
Es cierto, pero eso no cubre la vista previa de deslizamiento o piel de cebolla, solo una al lado de la otra. Además, no creo que cubra los archivos PDF. Estamos usando Gitea aquí para el desarrollo de material gráfico (incluidos manuales y folletos), y una buena diferencia visual para archivos PDF cambiaría la vida.
Tengo algunas ideas que solo quiero lanzar: smile_cat:
Utilice Cloud KSM para cifrar / descifrar de forma transparente cualquier secreto. Esto protegerá contra DB hackeado y expuesto. La idea es que podamos usar un tipo personalizado con métodos de codificación / decodificación XORM para cifrar los datos secretos antes de escribir en la base de datos. Hicimos un ejemplo de demostración aquí: https://github.com/gomodules/ksm-xorm
Soporte OIDC: Devuelve id_token además del token oauth2 cuando inicias sesión a través de Gitea
El perfil de usuario de Gitea puede mostrar el perfil del usuario en cualquier repositorio de Git verificado. Ejemplo: el usuario puede anclar repositorios de Github / Gitlab / BitBuket / Gitea. La idea es que los usuarios tampoco puedan ignorar a los demás. Entonces, ¿puede gitea ser el único perfil de usuario global?
Soporte de dominio personalizado para repositorios (ir)
Compatibilidad total con Github (he visto algunos trabajos en este frente, no sé cuánto ya se ha hecho).
Integración de servidor de idiomas opcional. Algo como Sourcegraph, como la navegación integrada en la interfaz de usuario.
Me gustaría contribuir a 1 & 2 en poco tiempo.
Tal vez podamos mostrar diff en una forma de árbol de carpetas y archivos que han cambiado, como en BitBucket, en lugar de una página enorme con todos los cambios. Sería mucho más legible.
Quizás una opción para agregar notificaciones en todos los repositorios por día o por semana.
Algo así como un resumen de las actividades de las últimas semanas.
Agregue la posibilidad de definir webhooks personalizados a través de plantillas personalizadas y un grupo de variables estándar.
No es una evolución de Gitea, sino un proyecto paralelo que sería útil: # 7853
¡Paridad de características con github!
O, al menos, una lista actualizada en la wiki, que muestra todas las características que aún necesitamos antes de lograr la paridad. Esta sería una buena forma de estructurar los esfuerzos de desarrollo futuros.
@ lonix1 echa un vistazo a https://docs.gitea.io/en-us/comparison/ para ver esa lista
¡@kolaente parece que tenemos casi todas las marcas! ¡sí!
Soy muy nuevo aquí, pero también un codificador dispuesto; Me encantaría que gitea apoyara las esencias. Ese es uno de los mayores agujeros para mi uso. Se solucionó con bastante facilidad, pero prefiero tener un sistema esencial en su lugar.
Creo que el problema de los gists sería https://github.com/go-gitea/gitea/issues/693 (enlazando, ya que todavía no parece que se haga referencia a él desde aquí).
Agregue también la documentación Help
, a la que se puede acceder mediante el enlace Help
. La fuente inicial de esta documentación puede ser de la Ayuda de GitHub , con modificaciones específicas de Gitea.
La ayuda de
Si más personas comienzan a adoptar el autohospedaje para compartir sus proyectos de código abierto, es necesario que los usuarios no registrados envíen problemas sin tener que crear una cuenta en cada instancia (es muy poco probable que la mayoría de las personas se registren para detectar un error). reporte).
2a. Pestaña de interfaz de usuario de registro de contenedor y autenticación.
Algún tipo de sistema de extensión / complemento.
La mayoría de las sugerencias son buenas, pero crearán problemas en el código base.
Sería mejor tener complementos oficiales (y no oficiales). Esto también significaría que los autores de complementos podrían publicar con más frecuencia.
@ lonix1 Bueno, los ganchos de git, los webhooks y la API Swagger pueden considerarse puntos de conexión de complementos. Estoy a favor de más compatibilidad con complementos, pero indicar una lista con detalles específicos podría ayudar. Por ejemplo, me gustaría tener soporte para un equivalente de línea de comandos de webhooks.
@ guillep2k Por ejemplo, todas las funciones de gestión de proyectos discutidas anteriormente. Serían muy útiles, pero probablemente toquen tantas partes del código base que 1) podrían causar problemas incluso para aquellos que no usan esas funciones, y 2) debido a eso, dicho desarrollo es muy lento porque los responsables de La fusión de nuevas funciones saben que este escenario es posible, por lo que son cautelosos.
Si estas nuevas funciones pudieran lanzarse por separado, los usuarios que lo deseen podrían probarlas antes de fusionarlas en la rama principal.
Y hay otros ejemplos de este tipo de grandes características nuevas, simplemente desplácese hacia arriba.
@brandonkal GPG La firma de confirmaciones generadas automáticamente ahora es posible con la fusión de # 7631
Supongo que la hoja de ruta debe dividirse en esas cuatro categorías (agregué algunos problemas de ejemplo; debería ser obvio que está lejos de estar completo: guiño :):
Todavía hay algunas _funciones básicas_ que no funcionan correctamente.
Por ejemplo:
También existen algunos problemas de seguridad:
root
usuario (puede reasignar puertos en el exterior de todos modos)Supongo que la integración con otras aplicaciones / servicios es algo bueno en general.
Porque el desarrollo de software no suele depender de una única herramienta.
Y probablemente ayudará a convencer a algunas personas de que utilicen Gitea en su lugar de trabajo.
Esos dos problemas mejorarían mucho la interoperabilidad:
Además, los webhooks genéricos evitarían la necesidad de que otras personas conozcan los aspectos internos de gitea. @ guillep2k tuvo una idea maravillosa de que una integración de "comando externo" podría realizarse de manera similar a la integración de webhook genérico .
: advertencia: Esto probablemente resolvería la mayoría de los problemas sobre lo que la mayoría de las personas en este tema quieren como 'soporte de complementos' . Porque eso permitiría llamar a cualquier usuario que necesite llamar. Sin embargo, @lunny acaba de mencionar que esto ya es prácticamente posible a través de git hooks. Simplemente no estoy muy seguro de si esta es realmente la mejor manera de integrar otras herramientas / complementos / servicios.
Además, obviamente, hay algunas características interesantes en aplicaciones de la competencia (es decir, Git [Hub / Lab]) (la mayoría de ellas probablemente sea bastante agradable de tener):
¿Se puede utilizar la base de datos Oracle como opción? Si es posible técnicamente.
@DemiusAcademius Si xorm soporta mejor Oracle, creo que es posible.
Cada vez más personas están comenzando a usar Gitea, por ejemplo, también debido al reciente anuncio del rastreador de GitLab. Pero GitHub / GitLab todavía tienen el efecto de red de su lado.
La federación sería un gran impulsor para mejorar la capacidad de colaboración entre usuarios de diferentes instancias de Gitea y, por lo tanto, aumentar toda la red de Gitea: # 1612
Se informó que la capacidad de mostrar grandes diferencias en la IU es un factor limitante en la adopción de Gitea.
Tickets que lo abordan: # 7341 (función), # 7495 (error de bloqueo)
Se informó que la capacidad de mostrar grandes diferencias en la IU es un factor limitante en la adopción de Gitea.
Tickets que lo abordan: # 7341 (función), # 7495 (error de bloqueo)
Esa es una limitación enorme. En mi opinión, todo lo que @alexanderadam enumeró anteriormente palidece en comparación con esto. Si no puedo revisar diferencias grandes comentando en línea en el código, eso es un gran problema.
W / R / T la ira contra Microsoft y Github que causó la migración de muchos proyectos y provocó una gran demanda de federación, Gitlab ha propuesto recientemente prohibir a los empleados en China y Rusia, 2 de los países más grandes del mundo por masa de tierra y economía. El ejército de los EE. UU. Ha cambiado el enfoque a China y Rusia (entre otros) para debilitar las barreras que plantean a la expansión / intereses imperiales de EE. UU. La propaganda y los incentivos financieros han llevado a Microsoft (Github, Azure), Amazon, Google, Atlassian (Trello, Jira) e incluso a Gitlab a las industrias de la guerra, el espionaje, la propaganda y la vigilancia en un papel ofensivo.
Menciono esto para agradecer a quienes trabajan en repositorios remotos de código abierto de alta disponibilidad con pocas deficiencias en los servicios corporativos y vinculados al Pentágono que usamos y en los que todavía confiamos ahora, y para llamar su atención sobre las alternativas rápidas que existen. desapareciendo para aquellos que deseen utilizar Internet y la tecnología tan lejos del imperio más poderoso y hostil de la historia.
Quizás el tema sea lo suficientemente grande como para que una sección separada del sitio web oficial realice un seguimiento del progreso en esta función, junto con una campaña de recaudación de fondos separada para capturar esta demanda. Incluir a ForgeFed en la recaudación de fondos puede ser beneficioso y justo, viendo su trabajo hasta ahora. Han pasado 17 meses desde el combate de Microsoft con Github, y espero que en otros 17 meses podamos usar Gitea federado, o tener partes restantes del 'patrimonio neto en construcción'.
Por favor, no hablemos de política aquí, sigamos con el tema: mejorar Gitea para todos.
@lafriks Mejorar Gitea significa definir un nicho, algo que los productos sustitutos no satisfacen. El marketing es el proceso de encontrar oportunidades externas, siendo "político" una de las 4 categorías principales de análisis de marketing. Una marca inteligente atrae los _valores_ de las personas tanto como ofrece características, especificaciones y precio. Existe una atracción basada en valores ("política") hacia alternativas como Gitea, y no subrayarlo y mantenerlo sería una falla en comprender a su consumidor y la oportunidad del mercado.
"Político" como término se ha convertido en un cliché que acaba con el pensamiento, extinguiendo la discusión sobre el racismo, la violencia y la explotación. Simplemente vine aquí para agradecer a la gente por continuar trabajando en alternativas no asociadas con los campos de concentración estadounidenses, la vigilancia con redes de arrastre y otros intereses imperialistas en los que la mayoría de nuestra industria está ayudando activamente. Si está diciendo que estas no son cualidades que Gitea defiende, Te entendí mal y me iré.
Nota para @OKNoah
Marketing 101 para un proyecto de código abierto:
Si la transparencia de GitLab.com te ofende, puedes autohospedar GitLab-FOSS. Es un producto todo en uno extremadamente bueno. Pero si desea una instalación simple o requiere un menor uso de memoria en comparación con GitLab o GitHub Enterprise, Gitea es una buena opción para las funciones web básicas.
Este hilo trata sobre las características que pueden ayudar a cerrar esa brecha sin comprometer la simplicidad.
Mis 2 centavos: creo que este hilo se volvió demasiado largo y es hora de abrir un nuevo número que resuma las ideas que ya se han expresado aquí. Y cierra este.
Si estás diciendo que estas no son cualidades que Gitea defiende, te entendí mal y me iré.
Esto no es lo que se dice. Lo que se dice es que este hilo es el lugar para discutir qué cambios / mejoras a Gitea se pueden hacer (específicamente técnicos). Estas discusiones son más que bienvenidas, pero no en este hilo específico.
Como uno de los clientes potenciales, bloquearé este hilo, como @XVilka lo dijo correctamente, hemos solicitado muchos comentarios y ahora debería evaluarse para los próximos pasos.
Podríamos cambiar el camino hacia el cumplimiento de FHS para v2. Ya es posible con banderas, pero debería ser el predeterminado para v2.
Comentario más útil
Solicitudes de extracción / problemas / bifurcaciones federadas