Как программно получить теги или имя ветки удаленно из значения ha sh, используя java libs для git api? - PullRequest
1 голос
/ 18 января 2020

Я искал в J GIT API , E GIT Do c, kohsuke git api do c

Пожалуйста, кто-нибудь может подсказать мне об этом?

Я также подумал об обходном пути, чтобы получить тег, используя sha1 ha sh (40 символов), запустив команду git программным путем, как упоминалось в другом SO посте. По крайней мере, есть ли какие-либо из указанных выше разрешений API для выполнения команды git?

Ответы [ 2 ]

1 голос
/ 19 января 2020

Обычно то, что вы хотите сделать здесь, эквивалентно git ls-remote на соответствующем пульте, а затем найти имя на основе ссылки. Обратите внимание, что возможно иметь несколько ссылок с одним и тем же ha sh, поэтому вам нужно будет каким-то образом решить, какой из них вы хотите. Ха sh также может не указывать ни на одну ссылку, и вам нужно будет клонировать репозиторий, если вы хотите получить что-то вроде master~2.

Это не похоже на J Git имеет опцию для этого явно, но он имеет операцию API LsRefsV2 для протокола v2, которая может удовлетворить ваши потребности. Вы можете искать git ls-remote эквивалентов в предпочитаемом вами API, и вы, вероятно, найдете там некоторую помощь.

1 голос
/ 19 января 2020

Вы можете попробовать сравнить это ha sh с известным тегом, используя GitHub API для коммитов .

Я предложил в " GitHub API: пометить коммит" принадлежит (параллельно для git describe --tag <sha>)".
Я не вижу более прямого API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...