Получить информацию о теге, используя имя тега
Я использую isomorphic-git для проекта, и мне нужно прочитать информацию об аннотированном теге git.
Мой текущий код в настоящее время выглядит примерно так:
import * as git from 'isomorphic-git';
import * as fs from 'fs';
import * as http from 'http';
const git_options = {
fs,
http,
dir: config.git_dir, //yes this is valid
};
const tags = await git.listTags(git_options);
for (let ref of tags) {
const oid = await git.resolveRef({ ...git_options, ref});
const tag = (await git.readTag({ ...git_options, oid })).tag;
console.log(`${tag.message} <${tag.tag}>`);
}
См. документы для получения дополнительной информации о различных функциях git.
listTags
отлично работает (дает список имен тегов)
readTag
не работает с ошибкойObject <oid> was anticipated to be a tag but it is a commit.
(где<oid>
это идентификатор объекта git)
Для легкого воспроизведения:
-
git clone https://github.com/dr-vortex/bsvm
-
cd bsvm
-
npm install
-
npm run test -- --install
* -
npm run test -- list
-> ошибка
* клонирование репозитория github не работает для меня. Вам нужно будет перейти к$HOME/.bsvm/repo
и делайgit pull
с последующимgit checkout main