Это первый из четырех сценариев, которые я решил написать, как указано в архитектуре системы. Чувствовал себя накачанным! это был шаг в направлении создания «вики» интерфейса, который вносит вклад в открытый исходный код без взаимодействия с пользовательским интерфейсом GitHub?.
Это js-файлы, содержащие некоторые связанные функции многократного использования, специально предназначенные для взаимодействия с API GitHub; они либо используются в рамках одного и того же сценария, либо экспортируются для использования для выполнения своих базовых функций в другом месте проекта. Они принимают аутентифицированный экземпляр Octokit пользователя в качестве параметров среди других. Этот экземпляр используется для выполнения действий/функций через API GitHub от имени аутентифицированного пользователя.
Необходимость создать поток внесения вклада в открытый исходный код без взаимодействия с пользовательским интерфейсом GitHub означала, что нам пришлось автоматизировать некоторый процесс - моделировать все шаги, которые пользователь предпримет, если он будет вносить свой вклад через пользовательский интерфейс GitHub, шаги следующие: следует..
Я начал писать этот сценарий сразу после первоначального коммита, на самом деле это был PR №2, но он пострадал во время долгого месячного перерыва? я взял из проекта, прежде чем вернуться к работе над функцией базового словаря.
Задачей здесь было создать «Скрипт форка», конечная цель которого — создать/получить форк репозитория jargons.dev в/из учетной записи пользователя. Он должен содержать все функции, которые будут делать следующее.
Поняв задание, я «углубился» сразу в работу над сценарием.
Я уже очень привык к API GitHub из-за того, что часто использую их в повседневной работе над Hearts ❤️... Итак, документация по форку GitHub выглядела для меня как брошки?...
У меня в голове? когда я писал этот сценарий, я придерживался мысли, которую я придерживался после прочтения цитируемого ниже абзаца в документации по форку GitHub
Примечание: Форкирование репозитория происходит асинхронно. Возможно, вам придется подождать некоторое время, прежде чем вы сможете получить доступ к объектам git. Если это занимает больше 5 минут, обязательно обратитесь в службу поддержки GitHub.
Я неправильно понял это и предположил, что мы сможем только инициировать процесс форка, двигаться дальше и, конечно, не сможем дождаться объекта ответа, который вернет детали нового форка, потому что мы не знаем когда процесс разветвления завершится.
Это предположение вынудило меня не возвращать какие-либо данные из основной функции forkRepository, и на этом этапе я уже начал думать — как мне заставить детали вилки обрабатываться на следующем этапе процесса внесения!? Хм, может, я воспользуюсь вебхуками?!?
Оказалось, что я слишком много думал об этом? Позже я понял, что фактически получу детали ответа для форка, и это побудило меня сделать последующий PR для решения проблемы возврата данных, необходимых из объекта ответа форка для использования в процесс внесения вклада.
Основной:
Этот запрос на включение реализует сценарий разветвления; этот сценарий предназначен для программного разветвления основного репозитория проекта на учетную запись пользователя; Он содержит основную функцию и другие вспомогательные функции, которые он использует для выполнения некоторых необходимых действий, чтобы обеспечить эффективную работу вилки репо.
Решение №2
https://github.com/babblebey/jargons.dev/assets/25631971/16221b7e-3c28-4c6c-a1f3-24d583ce7e3a
?
Этот PR является продолжением отсутствующего шага в первоначальной реализации скрипта форка в #3; скрипту fork не удалось вернуть репозиторий, который можно использовать на следующем этапе вычислений. Это произошло из-за странного предположения, которое у меня было во время первоначальной реализации. ?См. мое предположение ниже...
Я предполагаю, что вызов конечной точки «POST /repos/{owner}/{repo}/forks» гарантирует только запуск процесса разветвления, вообще не гарантируя нам ответа. Это означает, что мы можем не получить ответ.данные после вызова
... но это была неправда, я узнал, что ответ.data действительно приходит, но это может занять некоторое время и только в тех случаях, когда разветвляемое репо огромно.... и на данный момент разветвление репозитория проекта происходит менее чем за 5 секунд.
?
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3