@ go-gitea / сопровождающие
После закрытия # 1029, я думаю, мы должны составить новый план относительно следующего большого шага. Есть идеи по этому поводу?
Плагин (включая тему) для расширения gitea.
Можно ли добавить соответствующие пакеты ОС в процесс сборки? Я пытался собрать что-то для Fedora, но пакет go кажется беспорядочным. №31 вроде как говорит об этом, но все еще кажется открытым.
Мы используем ansible для развертывания tarball в системе Debian, это не очень удобно, но работает. Было бы неплохо создать репозиторий для наиболее распространенных дистрибутивов, но его необходимо создать и поддерживать.
Несколько предложений:
Федеративные запросы на вытягивание / проблемы / вилки
Федеративные запросы на вытягивание / проблемы / вилки
Возможно, он не является федеративным в смысле слова Fediverse (ActivityPub, OStatus, diaspora * и т. Д.), Но я хотел бы иметь возможность взаимодействовать с удаленными экземплярами из своего собственного, реализованного любым способом, который лучше всего подходит для проекта.
Также было бы здорово иметь команды и организации, состоящие из пользователей из нескольких экземпляров, хотя это, вероятно, будет невероятно сложно реализовать.
Два предложения от точки зрения конечного пользователя с минимальными навыками программирования, который пытается помочь проектам с открытым исходным кодом, которые я использую, сообщая об ошибках и оставляя отзывы по UX:
1) Помогите стандартизировать ForgeFed! Мне бы хотелось, чтобы UX регистрации ошибок в экземпляре Gitea (и других кузниц кода, поддерживаемых сообществом) был похож на один огромный децентрализованный GH.
2) Сделайте каждую часть проекта репозиторием Git, чтобы проблемы, вики и т. Д. Можно было легко извлечь, разветвить, отправить или разветвить. GL и sr.ht делают это по крайней мере с некоторыми из своих компонентов. Это не только полезно, но и может помочь с пунктом 1)
Возможность отвечать на билеты по электронной почте станет большим шагом вперед для удобства использования.
Разрешить редактирование всей конфигурации из пользовательского интерфейса (и, возможно, изменить формат файла конфигурации во время процесса)
Возможно, сохранить большую часть конфигурации в базе данных и предоставить для нее правильный cli и api
@sapk @tboerger Я бы сказал, что мы должны переключиться на viper для конфигурации, чтобы мы могли избавиться от ini (и некоторых ошибок, которые у нас были с ним) и получить такие вещи, как перезагрузка конфигурации во время работы Gitea и правильные переменные env .
Я бы хотел заняться этим, но не уверен, что найду время в ближайшем будущем.
Я тоже за Viper. Я пытался это сделать 2 года назад, но не успел закончить ... но я могу попробовать еще раз :)
Я за получение более минимального файла конфигурации ... Многие из этих настроек не нужно устанавливать через статический файл конфигурации, их можно легко добавить в базу данных и кэшировать по соображениям производительности.
Я думаю, что мы могли бы сначала добавить таблицу конфигурации базы данных и переместить туда большинство изменяемых элементов конфигурации из файла ini, оставив только те элементы, которые необходимо перезагрузить.
@lunny и все
Модульная система звучит отлично. Я считаю, что есть много людей, желающих добавить новые функции в gitea.
@belliash @sapk Плагины / модули IMO не могут быть реализованы эффективно без полного рефакторинга пакета моделей и добавления дополнительной абстракции. Я протестировал несколько технологий, например, встроенную поддержку плагинов Go.
Результатом стали гигантские двоичные файлы, которые сильно зависели от двоичного файла Gitea.
Я думаю, что улучшение поддержки веб-перехватчиков и добавление пользовательских страниц с помощью веб-перехватчиков более реалистично, поскольку у нас уже есть довольно зрелый API, который можно использовать для операций с базой данных.
@jonasfranz Я бы очень поддержал модели рефакторинга, чтобы удалить множество их зависимостей.
go list -f '{{ .Imports }}' code.gitea.io/gitea/models
выявляет 98 (!) прямых импортных операций. 50 из которых не являются основными.
go list -f '{{ .Deps }}' code.gitea.io/gitea/models
выявляет 437 (!!) транзитивных зависимостей. (304 из них не являются основными)
Взгляните на исходники дронов, там у нас много подключаемого материала, основанного на веб-хуках.
Кроме того, имеет смысл такая модель плагина, как packer, система плагинов на основе grpc.
@tboerger Не могли бы вы привести пример подключаемого материала дрона? Вы имеете в виду систему плагинов, основанную на образах докеров?
Я говорю о расширениях для конфигов, секретов и так далее, интерфейсы должны быть определены на https://github.com/drone/drone/tree/master/plugin
Я согласен с вами, следующим большим шагом Gitea должна стать система плагинов. Я тоже думаю об этом в наши дни. Я попробую систему плагинов.
Я думаю, что он должен быть похож на систему плагинов дрона, но иметь больше. Мы должны позволить плагину иметь пользовательский интерфейс и автоматически входить в систему с помощью Gitea OAuth2. И у нас должна быть какая-то политика безопасности для плагинов. и так далее.
Я хочу поделиться сравнительной таблицей, которую мы составили примерно в 2016 году, чтобы решить, какую хостинговую платформу выбрать для Open Source Geospatial Foundation. В этой таблице мы перечислили важные для нас функции. Gitea находится в одной из колонок:
https://wiki.osgeo.org/wiki/GitInfrastructureComparison
Вы увидите, что важная функция, которая отсутствовала в 2016 году, все еще отсутствует сегодня: ответ по электронной почте (комментарий / ответ) --- некоторые другие были реализованы на сегодняшний день.
Инструмент @strk для migrate from github
и Comments on diff lines
готов.
Требуется настройка почтового шаблона
См. № 6037
Так что уже есть возможность немного настроить шаблон - тема - единственное, чего, по-моему, у нас нет.
Однако на самом деле нам следует включить i18n для электронной почты и сообщений git serv hook.
Требуется отменить запрос на перенос.
См. №6375
Полная поддержка тегов в UI. Создавать, назначать, изменять, удалять и т. Д. Мне очень не хватает этой функции.
Я поддерживаю конфигурацию в базе данных (с помощью cli или api для ее настройки, например, создание пользователя и аутентификацию ldap и т. Д.) И систему плагинов.
Эти двое должны продвинуть gitea на большой шаг вперед.
$GITEA_ROOT/owner/reponame
это плохое архитектурное решение IMHO и приводит к предположениям пользователей, что наши репозитории могут использоваться git на сервере без Дальше думал - ОНИ НЕ ДОЛЖНЫ. Мы должны перейти на $GITEA_ROOT/repository-$ID
, возможно, сегментированный. (Это позволит удалить множество вызовов repo.MustOwner()
или repo.GetOwner()
).git/config
или центральную переменную .gitconfig
core.hooksPath
и подумайте, где в противном случае мы будем размещать хуки.code.gitea.io/gitea/models
зависит от слишком многих вещей, которые необходимо остановить.models.x
необходимо уничтожить. Ужасное архитектурное решение.Что касается пользовательского интерфейса, я бы предложил предоставить два пользовательских интерфейса:
- думаю, нам следует серьезно отнестись к переходу на джин, предложенному @lunny
Я бы предложил го-чи вместо джина.
- Мы должны автоматизировать удаление документации нашего веб-сайта hugo, чтобы ее можно было интернационализировать с помощью CrowdIn.
ИМХО сайт / документы переводить вообще не надо, все равно всегда устарело ...
ИМХО сайт / документы переводить вообще не надо, все равно всегда устарело ...
Но с толпой его устаревание уведомит людей и сделает текущие переводы недействительными.
Можно ли добавить соответствующие пакеты ОС в процесс сборки? я
Возможно, пакеты в стиле PPA, контролируемые и поддерживаемые разработчиками GItea, были бы хорошей идеей, но я не поклонник способа управления версиями в стиле Debian "замораживания и обратного переноса исправлений безопасности" для быстро меняющихся проектов (таких как GItea).
Я все еще хотел бы https://github.com/go-gitea/gitea/issues/3840.
Думаю, это можно реализовать с обратной совместимостью.
Но это станет ясно только после завершения миграции новой библиотеки маршрутизации.
Предварительная базовая очистка / рефакторинг также упростит задачу.
Я все еще хотел бы # 3840.
Думаю, это можно реализовать с обратной совместимостью.
Но это станет ясно только после завершения миграции новой библиотеки маршрутизации.
Предварительная базовая очистка / рефакторинг также упростит задачу.
В этом случае возможно, что вы потеряете поддержку Drone, поскольку в настоящее время она также не реализована для Gitlab.
Я все еще хотел бы # 3840.
Думаю, это можно реализовать с обратной совместимостью.
Но это станет ясно только после завершения миграции новой библиотеки маршрутизации.
Предварительная базовая очистка / рефакторинг также упростит задачу.
Нам, вероятно, не нужна эта групповая функция, чтобы влиять на URL-адреса репозитория, мы могли бы просто сделать папки, которые репозиторий можно было бы отображать, но сохранить URL-адреса репозитория такими же, как сейчас
@tboerger
Я думал, что URL-адрес может остаться прежним, если репо не вложено в группу / каталог.
URL-адреса необходимо «обновить» только в том случае, если репо использует функцию группы / каталога.
Но да, репозитории с новыми URL-адресами, вероятно, не могли иметь поддержку Drone из коробки.
@lafriks
Это звучит как хорошая идея. Мой сценарий использования этой функции заключается в размещении модулей Git или подпроектов проектов Repo. Так что я не уверен, что это касается этого случая.
Не стоит беспокоиться. Я не хочу делать такие масштабные и, возможно, критические изменения.
В этой проблеме есть много хороших идей, и мы должны сохранить их и решить.
Однако когда и как выбирать? Это обсуждение может продолжаться вечно.
Я бы посоветовал либо владельцу выбрать темы, либо проголосовать между ними и участниками.
Что вы думаете?
@DblK Верно. Но я думаю, что мы сможем это сделать после перехода на gitea.com. В настоящее время нам нужно больше отзывов от пользователей.
- Mercurial поддержка
Пожалуйста нет. Не зря он называется "git" ea.
Я понимаю желание расширить возможности, но
раздувание не за горами ...
ртутный импорт был бы альтернативой
26 июля 2019 г., 13:52:50 по всемирному координированному времени Сандро Сантилли [email protected] написал:
- Mercurial поддержка
Пожалуйста нет. Не зря он называется "git" ea.
Я понимаю желание расширить возможности, но
раздувание не за горами ...-
Вы получили это, потому что прокомментировали.
Ответьте на это письмо напрямую или просмотрите его на GitHub:
https://github.com/go-gitea/gitea/issues/6998#issuecomment -515461704
Федеративные запросы на вытягивание / проблемы / вилки
Возможно, он не является федеративным в смысле слова Fediverse (ActivityPub, OStatus, diaspora * и т. Д.), Но я хотел бы иметь возможность взаимодействовать с удаленными экземплярами из своего собственного, реализованного любым способом, который лучше всего подходит для проекта.
Об этом уже говорилось в # 1612. ForgeFed собирает интересные идеи по внедрению федерации в кузницы кода, такие как Gitea. Было бы здорово, если бы это стало следующей важной особенностью Gitea!
Мне бы очень понравился инструмент визуального сравнения графических файлов (JPEG, PNG, а также PDF), аналогичный тому, что предлагает Github .
У нас уже есть PR по разным изображениям
У нас уже есть PR по разным изображениям
Верно, но это не касается смахивания или предварительного просмотра кожи лука, только бок о бок. Кроме того, я не думаю, что это касается файлов PDF. Здесь мы используем Gitea для разработки графических материалов (включая руководства и брошюры), и хороший визуальный эффект для PDF-файлов изменит жизнь.
У меня есть несколько идей, которые я просто хочу выкинуть: smile_cat:
Используйте Cloud KSM для прозрачного шифрования / дешифрования любого секрета. Это защитит от взлома и разоблачения БД. Идея состоит в том, что мы можем использовать настраиваемый тип с методами кодирования / декодирования XORM для шифрования секретных данных перед записью в БД. Здесь мы сделали демонстрационный пример: https://github.com/gomodules/ksm-xorm
Поддержка OIDC: возврат id_token в дополнение к токену oauth2 при входе в систему через Gitea
Профиль пользователя Gitea может отображать профиль пользователя в любом проверенном репозитории Git. Пример: пользователь может закрепить репозитории Github / Gitlab / BitBuket / Gitea. Идея в том, что пользователи не могут игнорировать и другие. Итак, может ли gitea быть одним глобальным профилем пользователя?
Поддержка пользовательского домена для репозиториев (go)
Полная совместимость с Github (я видел некоторые работы в этом направлении, я не знаю, сколько уже сделано).
Дополнительная интеграция языкового сервера. Что-то вроде Sourcegraph, вроде навигации, встроенной в пользовательский интерфейс.
Я хотел бы внести свой вклад в 1 и 2 в кратчайшие сроки.
Возможно, мы сможем показать разницу в виде дерева папок и файлов, которые изменились - как в BitBucket, вместо одной огромной страницы со всеми изменениями в ней. Это было бы намного более читабельно.
Возможно, вариант агрегировать уведомления во всех репозиториях за день или за неделю.
Что-то вроде краткого обзора деятельности за последние недели.
Добавьте возможность определять настраиваемые веб-перехватчики с помощью настраиваемых шаблонов и пула стандартных переменных.
Не эволюция Gitea, а полезный побочный проект: # 7853
Паритет возможностей с github!
Или, по крайней мере, актуальный список в вики, который показывает все те функции, которые нам еще нужны, прежде чем мы достигнем паритета. Это было бы хорошим способом структурировать будущие усилия по развитию.
@ lonix1 посмотрите https://docs.gitea.io/en-us/comparison/ для этого списка
@kolaente похоже, что у нас почти все галочки! Ага!
Я здесь совсем новичок, но тоже готовый кодировать; Мне бы очень понравилось, если бы gitea поддерживала gists. Это одна из самых больших дыр в моем использовании. Достаточно легко обойти, но я бы предпочел просто иметь систему сути.
Я думаю, что проблема для gists будет https://github.com/go-gitea/gitea/issues/693 (ссылка, поскольку, похоже, здесь еще нет ссылки).
Добавьте также Help
документацию, доступ к которой можно получить по ссылке Help
. Первоначальный источник этой документации может быть из справки GitHub с изменениями, специфичными для Gitea.
@bagasme help нельзя брать с github, это было бы нарушением авторских прав. Кому-то придется писать Gitea help с нуля
Если все больше людей начнут внедрять самостоятельный хостинг для обмена своими проектами с открытым исходным кодом, должен быть способ для незарегистрированных пользователей отправлять проблемы без необходимости создавать учетную запись в каждом экземпляре (большинство людей крайне маловероятно, чтобы зарегистрироваться из-за ошибки. отчет).
2а. Вкладка пользовательского интерфейса реестра контейнера и auth.
Какая-то система плагинов / расширений.
Большинство предложений хороши, но они создадут проблемы в основной кодовой базе.
Было бы лучше иметь официальные (и неофициальные) плагины. Это также означало бы, что авторы плагинов могли бы выпускать их чаще.
@ lonix1 Ну, git hooks, webhooks и Swagger API можно считать точками подключения плагинов. Я за дополнительную поддержку плагинов, но список с подробностями может помочь. Например, мне нужна поддержка эквивалента веб-перехватчиков в командной строке.
@ guillep2k Например, все функции управления проектами, описанные выше. Это было бы очень полезно, но они, вероятно, затрагивают так много частей кодовой базы, что 1) они могут вызвать проблемы даже у тех, кто не использует эти функции, и 2) из-за этого такая разработка идет очень медленно, потому что те, кто отвечает за слияние новых функций знает, что этот сценарий возможен, поэтому они осторожны.
Если бы эти новые функции можно было выпускать отдельно, их могли бы опробовать желающие пользователи перед тем, как объединить их в основную ветку.
Есть и другие примеры таких больших новых функций, просто прокрутите вверх.
@brandonkal Подписание GPG автоматически созданных
Думаю, дорожную карту следует разделить на эти четыре категории (я добавил несколько примеров проблем - должно быть очевидно, что она далека от завершения: wink :):
Есть еще некоторые _базовые функции_, которые не работают должным образом.
Например:
Также есть некоторые проблемы с безопасностью:
root
user (вы все равно можете переназначить порты снаружи)Думаю, интеграция с другими приложениями / сервисами в целом - это хорошо.
Потому что разработка программного обеспечения обычно не полагается только на один инструмент.
И это, вероятно, поможет убедить некоторых людей использовать Gitea на своем рабочем месте.
Эти две проблемы могут значительно улучшить взаимодействие:
Кроме того, общие веб-перехватчики позволят избежать необходимости того, чтобы другие люди знали внутреннее устройство gitea. @ guillep2k пришла в голову замечательная идея, что интеграция "внешней команды" может быть сделана аналогично общей интеграции webhook .
: warning: Это, вероятно, решило бы большинство проблем, связанных с тем, что большинство людей в этом выпуске хочет, как «поддержка плагинов» . Потому что это позволит вызывать все, что нужно для звонка пользователям. Однако @lunny только что упомянул, что это практически уже возможно с помощью хуков git. Я просто не совсем уверен, действительно ли это лучший способ интеграции других инструментов / плагинов / сервисов.
Кроме того, очевидно, что в конкурирующих приложениях (например, Git [Hub / Lab]) есть несколько хороших функций (большинство из них, вероятно, неплохо иметь):
Можно ли использовать Oracle Database как вариант? Если это возможно технически.
@DemiusAcademius Если xorm лучше поддерживает оракул, я думаю, что это возможно.
Все больше и больше людей начинают использовать Gitea, например, это также вызвано недавним анонсом трекера GitLab. Но GitHub / GitLab по-прежнему имеют сетевой эффект на своей стороне.
Федерация станет важным фактором для улучшения возможности совместной работы пользователей разных экземпляров Gitea и, таким образом, увеличения всей сети Gitea: # 1612
Сообщается, что возможность отображать большие различия в пользовательском интерфейсе является ограничивающим фактором при внедрении Gitea.
Билеты на это: # 7341 (особенность), # 7495 (ошибка сбоя).
Сообщается, что возможность отображать большие различия в пользовательском интерфейсе является ограничивающим фактором при внедрении Gitea.
Билеты на это: # 7341 (особенность), # 7495 (ошибка сбоя).
Это огромное ограничение. ИМО, все перечисленное выше @alexanderadam меркнет по сравнению с этим. Если я не могу просматривать большие различия, добавляя встроенные комментарии в код, это большая проблема.
Без гнева на Microsoft и Github, который вызвал миграцию многих проектов и вызвал высокий спрос на федерацию - Gitlab недавно предложил запретить сотрудникам в Китае и России, 2 из крупнейших стран мира по суше и экономике. Американские военные переключили внимание на Китай и Россию (среди прочих), чтобы ослабить барьеры, которые они создают для имперской экспансии / интересов США. Пропаганда и финансовые стимулы привели Microsoft (Github, Azure), Amazon, Google, Atlassian (Trello, Jira) и даже Gitlab в отрасли войны, шпионажа, пропаганды и наблюдения в наступательной роли.
Я поднимаю это, чтобы поблагодарить тех, кто работает над высокодоступными удаленными репозиториями с открытым исходным кодом с небольшими недостатками в корпоративных и связанных с Пентагоном сервисах, которые мы используем и на которые до сих пор полагаемся, и чтобы обратить ваше внимание на быстрые альтернативы. исчезает для тех, кто желает использовать Интернет и технологии, так далеко от самой могущественной и враждебной империи в истории.
Возможно, эта тема достаточно велика для отдельного раздела официального сайта, чтобы отслеживать прогресс в этой функции, наряду с отдельной кампанией по сбору средств для удовлетворения этого спроса. Включение ForgeFed в сбор средств может быть полезным и справедливым, учитывая их работу на данный момент. Прошло 17 месяцев с тех пор, как Microsoft боролась с Github, и я надеюсь, что еще через 17 месяцев мы сможем использовать федеративную Gitea или нарастить оставшиеся части собственного капитала.
Пожалуйста, не обсуждайте здесь политику, давайте вернемся к теме - улучшение Gitea для всех
@lafriks Улучшение Gitea означает определение ниши - чего-то, чего не хватает товарами-заменителями. Маркетинг - это процесс поиска внешних возможностей, причем «политические» являются одной из четырех основных категорий маркетингового анализа. Мудрый бренд обращается к _значениям_ людей в той же мере, в какой они предоставляют функции, характеристики и цену. Существует ценностная («политическая») тяга к таким альтернативам, как Gitea, и неспособность подчеркнуть и поддерживать ее будет означать неспособность понять вашего потребителя и рыночные возможности.
Термин «политический» стал улавливающим мысли клише, заглушающим обсуждение расизма, насилия и эксплуатации. Я просто пришел сюда, чтобы поблагодарить людей за продолжающуюся работу над альтернативами, не связанными с концентрационными лагерями США, сетевым наблюдением и другими интересами империалистов, которым активно помогает большая часть нашей индустрии. Если вы говорите, что это не те качества, которые поддерживает Gitea, Я ошибся и уйду.
Примечание для @OKNoah
Маркетинг 101 для проекта с открытым исходным кодом:
Если вас оскорбляет прозрачность GitLab.com, вы можете самостоятельно разместить GitLab-FOSS. Это очень хороший универсальный продукт. Но если вам нужна простая установка или требуется меньшее использование памяти по сравнению с GitLab или GitHub Enterprise, Gitea - хороший вариант для основных веб-функций.
Эта ветка посвящена обсуждению функций, которые могут помочь закрыть этот пробел без ущерба для простоты.
Мои 2 цента - я думаю, что эта ветка стала слишком длинной, и пришло время открыть новый выпуск, обобщающий все идеи, уже высказанные здесь. И закрой это.
Если вы говорите, что Гитеа не поддерживает эти качества, я вас неправильно понял и уйду.
Говорят не об этом. Говорят, что эта ветка - место для обсуждения того, какие изменения / улучшения в Gitea можно внести (особенно технические). Эти обсуждения более чем приветствуются, но не в этой конкретной ветке.
В качестве одного из потенциальных клиентов я буду блокировать эту ветку , поскольку
Мы могли бы изменить путь к соответствию FHS для v2. Это уже возможно с флагами, но это должно быть по умолчанию для v2.
Самый полезный комментарий
Федеративные запросы на вытягивание / проблемы / вилки