Jedynym sposobem można zacząć parsowania dla tagu, bez dodawania zbyt dużo na dysku lokalnym, byłoby:
- uczynić pustą Repo
- dodać zdalnego adresu zdalnego repo
- spróbować
git fetch --dry-run
To będzie ładować pliki paczkę zdalnego repo, choć.
Nie sądzę, że można po prostu przetworzyć te informacje bez pobierania coś.
Zrobiłem to dla gitolite repo na przykład:
[email protected] /c/prog/git
$ git init g2
Initialized empty Git repository in c:/prog/git/g2/.git/
[email protected] /c/prog/git
$ cd g2
[email protected] /c/prog/git/g2 (master)
$ git remote add origin https://github.com/sitaramc/gitolite.git
[email protected] /c/prog/git/g2 (master)
$ git fetch --dry-run
remote: Counting objects: 5114, done.
remote: Compressing objects: 100% (1919/1919), done.
remote: Total 5114 (delta 3548), reused 4664 (delta 3142)
Receiving objects: 100% (5114/5114), 1.81 MiB | 722 KiB/s, done.
Resolving deltas: 100% (3548/3548), done.
From https://github.com/sitaramc/gitolite
* [new branch] bp-v2.0.3 -> origin/bp-v2.0.3
* [new branch] fedora-temp -> origin/fedora-temp
* [new branch] gh-pages -> origin/gh-pages
* [new branch] master -> origin/master
* [new branch] pu -> origin/pu
* [new branch] temp-br--data-dumper-problem-demo -> origin/temp-br--data-dumper-problem-demo
* [new branch] vrs -> origin/vrs
* [new tag] v2.1 -> v2.1
From https://github.com/sitaramc/gitolite
* [new tag] v0.50 -> v0.50
* [new tag] v0.55 -> v0.55
[...]
* [new tag] v2.0rc2 -> v2.0rc2
* [new tag] v2.1 -> v2.1
^^^^
|
--- could be the tag you need
Jak wspomniano powyżej, tylko ślady są pliki Pack, tak przynajmniej można łatwo oczyścić je raz masz swoje informacje:
[email protected] /c/prog/git/g2 (master)
$ l .git/objects/pack/
total 1000
drwxr-xr-x 4 VonC Administ 0 Nov 8 19:45 ..
-r--r--r-- 1 VonC Administ 1898987 Nov 8 19:46 pack-c70771bc8a5ecc099ed88da0c3f631f84b34fe9d.pack
-r--r--r-- 1 VonC Administ 144264 Nov 8 19:46 pack-c70771bc8a5ecc099ed88da0c3f631f84b34fe9d.idx
drwxr-xr-x 2 VonC Administ 4096 Nov 8 19:46 .
Ciekawa opcja. +1 – VonC
'git ls-remote' jest zdecydowanie tym, czego potrzebujesz. +1. – jszakmeister
to jest bardzo fajny skrypt i działa bardzo dobrze na linii poleceń ... ale nie mogę użyć awk w moim projekcie. więc wiążę, aby wyodrębnić jego znaczenie ... 'tag = $ 3' powinien być równy nazwie tagu, bez refs/tags/prefix, prawda? curl -s powtarza mi 'Nie znaleziono' – shigazaru