LINUX.ORG.RU

GCLI 2.10.0

 , , , ,


3

3

31 декабря, после почти трёх месяцев разработки, состоялся выпуск 2.10.0 консольной утилиты GCLI, предназначенной для взаимодействия с API нескольких популярных сервисов хостинга Git-проектов, и позволяет создавать, просматривать и взаимодействовать с проблемами, запросами на слияние, метками и комментариями к ним, проверять состояние CI и конвейеров, и многое другое.

И, в отличие от GitHub CLI, GCLI поддерживает не только API GitHub, но и API GitLab, Gitea, Forgejo и Bugzilla.

Утилита написана на языке C и распространяется по лицензии BSD-2.

Список изменений:

  • Добавлена поддержка Game of Trees VCS.
  • В действия approve и unapprove подкоманды pulls добавлены два новых параметра:
    • -y / --yes делает действие неинтерактивным (редактор не открывается и подтверждение не требуется);
    • -T / --template позволяет передать файл, который используется для сообщения.
  • Набор тестов теперь использует Perl вместо Kyua и atf-c.
  • Действие jobs в подкоманде pipelines, используемой для вывода заданий конвейера GitLab, теперь отображает и триггерные задания.
  • Исправлены ошибки.

>>> Подробности на GitHub

★★★★★

Проверено: CrX ()
Последнее исправление: CrX (всего исправлений: 1)

теперь использует Perl

Давно пора.

atf-c

Проект настолько известный, что по названию гуглится трансмиссионное масло.

apt_install_lrzsz ★★★★
()
Ответ на: комментарий от apt_install_lrzsz

Почему гуглится масло, а не утилита, вопросы к маркетологам.

yars068 ★★★★★
()
Ответ на: комментарий от dataman

я про то, что часто менять партнеров опасно для здоровья :-)

nicholas_ru
()

А зачем оно нужно? Промежуточное апи, чтобы что? Кто-то будет делать общий фронтенд, довольно хрупкий из-за доп. звена? Автоматизация каких-то действий, но почему не через родное апи? Кому нужен один интерфейс для пачки git-хостингов?

lv ★★
()
Ответ на: комментарий от lv

да это это технически не правильно.Компании используют к примеру ядро один cgit и к примеру qt.io. Они не станут использовать подобную тактику.

nicholas_ru
()
Ответ на: комментарий от lv

Например, тем, кто зеркалит проект на разных хостингах, нет?

// На клавиатуре мобильника поначалу вместо «зеркалит» набралось «херкадит».

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 2)
Ответ на: комментарий от hobbit

Например, тем, кто зеркалит проект на разных хостингах, нет?

Я, конечно, в жизни на разное насмотрелся, но зачем?

Единственное, что мне пришло в голову, так то, что эта утилита может помочь с миграцией с одного хостинга на другой, но и это сомнительно. Впрочем это мое мнение, как человека, который ничего не хостит в публичных облаках.

DrRulez ★★★★★
()
Ответ на: комментарий от dataman

Чтоб браузер пореже запускать.

Чтобы что? Или такая нелюбовь к вебной гуйне, что берётся тулза, которая может ещё и не весь объём функционала покрывать. Как будто если что-то заскриптовать нужно, то лучше взять напрямую апи своего хостинга. Одни и те же скрипты для разных хостингов... выглядит сомнительно.

lv ★★
()
Ответ на: комментарий от hobbit

Например, тем, кто зеркалит проект на разных хостингах, нет?

Зачем? Больше гемора, а для резервирования лучше развернуть несколько гитлабов локально и зеркалить между собой. Зачем париться с поддержкой разных хостингов?

lv ★★
()
Ответ на: комментарий от DrRulez

Единственное, что мне пришло в голову, так то, что эта утилита может помочь с миграцией с одного хостинга на другой, но и это сомнительно.

Возможно, но как будто для единоразовой операции проще воспользоваться родными апи хостингов.

lv ★★
()
Ответ на: комментарий от hobbit

Так популярные хостинги уже сами давно зеркалирование между собой наладили. Зачем для этого «третий лишний»?

gns ★★★★★
()
Последнее исправление: gns (всего исправлений: 1)
Ответ на: комментарий от lv

Чтоб браузер пореже запускать.

Чтобы что?

Потому что.

Как будто если что-то заскриптовать нужно, то лучше взять напрямую апи своего хостинга.

Внезапно, утилита и использует API, предоставляемые хостингами, напрямую.
Для чего же ещё, тот же GitHub, предоставляет свои данные и в GraphQL и в JSON?
Именно что для подобных сторонних утилит и скриптов.

dataman ★★★★★
() автор топика
Ответ на: комментарий от lv

Зачем париться с поддержкой разных хостингов?

Аж три человека недоумевают, зачем это надо. Ну например, у меня проект на гитхабе, и я на случай полной и окончательной победы чебурнета (к которому, напоминаю, пихают с обеих сторон) хочу иметь зеркало на каком-нибудь гитфлике. Я действительно чего-то странного хочу? @gns, это и к тебе вопрос.

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

Ну не странного, конечно. Вообще облачные сервисы надо покупать у двух-трёх конкурентов, кто-то один в живых да останется. :) Другое дело, что гитлаб с гитхабом зеркалирование наладили напрямую.

Насколько мне известно (может что и сделали на эту тему), гит не умеет клонировать репозиторий из двух мест. Нельзя сказать, что у моей локальной копии более одного аплинка, поэтому рассылай-ка ты коммиты по всем аплинкам сразу. Вот и получается, что или ты будешь заниматься локальной синхронизацией локальных копий и рассылать коммиты по аплинкам вручную. И обязательно что-то забудешь.

gns ★★★★★
()
Ответ на: комментарий от gns

гит не умеет клонировать репозиторий из двух мест.

git clone действительно можно сделать только один раз. А иметь несколько апстримов и гонять данные туда-сюда, даже из совершенно несвязанных друг с другом репозиториев - только в путь. Нужно такое, конечно, нечасто, но когда нужно, все инструменты есть.

AlexM ★★★★★
()
Ответ на: комментарий от lv

Кому нужен один интерфейс для пачки git-хостингов?

например всем тем, у кого на работе приватный инстанс гитлаба, но и в опенсорс на гитхабе тоже хочется тыкать. По-моему очень распространенный сценарий.

Lrrr ★★★★★
()
Последнее исправление: Lrrr (всего исправлений: 1)
Ответ на: комментарий от AlexM

К сожалению, очень просто запутаться куда что отправил. Хотя может это только у меня с гитом дружба не сложилась. Я много систем контроля версий за жизнь перепользовал, так вот только гита до сих пор боюсь.

Инструменты-то есть, удобства не особо много.

gns ★★★★★
()
Ответ на: комментарий от gns

Думаю, самоконтроль плюс какие-то ad-hoc автоматизации, чтобы предотвращали неаккуратное использование. Мой прогноз: на хуках можно соорудить приемлемое решение для того, чтобы не отправить лишнего, куда не следует.

В целом, оно довольно просто внутри устроено, по крайней мере, на том уровне, который нужен для решения задач, касающихся управления бранчами и тегами и взаимодействия с удалёнными репозиториями. Вдумчивое разглядывание .git/config, .git/packed-refs и .git/refs/ позволяет понять, как устроена система объектных меток.

Но, конечно, от задачи надо плясать.

AlexM ★★★★★
()
Ответ на: комментарий от Lrrr

А как тут помогает эта тулза? Зачем вам в этом случае общий cli к внутреннему хосту и к гитхабу? Скриптами что-нибудь к редмайну, например, прикручивать?

lv ★★
()
Ответ на: комментарий от AlexM

Немного вымораживает то, что гит позволяет иметь ветки с одним именем, но с разных источников. А если они еще и не связаны друг с другом, то никогда не поймешь, с какой веткой issue666 ты сейчас работаешь и с какого круга ада ты ее себе запуллил :)

gns ★★★★★
()
Ответ на: комментарий от Somebody

Скорее артефакт распределенных систем контроля версий. Используй git в режиме subversion с одним корпоративным репозиторием и будет тебе счастье :)

gns ★★★★★
()
Ответ на: комментарий от gns

Используй git в режиме subversion с одним корпоративным репозиторием и будет тебе счастье :)

Мне уже давно счастье: я не использую всё это merde...:))

Somebody ★★★★
()
Ответ на: комментарий от Somebody

Я б тоже не использовал, но, панимаш, работа такая... Какой станок дали, на том детали и точи :)

gns ★★★★★
()
Ответ на: комментарий от lv

Чтоб браузер пореже запускать.

Чтобы что?

чтобы в termux работало?

Andrew-R ★★★★★
()
Ответ на: комментарий от gns

Я б тоже не использовал, но, панимаш, работа такая... Какой станок дали, на том детали и точи :)

Панимяу. Сочувствую. :))

Мне проще: я сам выбираю «станок»... ;))

Somebody ★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.