list_remote_tags.py
import subprocess
def list_all_tags_for_remote_git_repo(url):
"""
Zadaná URL repozitáře, vypíše všechny tagy pro daný repozitář
bez jeho klonování.
Tato funkce používá "git ls-remote", takže
program "git" musí být dostupný.
"""
# Spustit příkaz 'git' pro stažení a výpis vzdálených tagů
result = subprocess.run([
"git", "ls-remote", "--tags", repo_url
], stdout=subprocess.PIPE, text=True)
# Zpracovat výstup pro extrakci názvů tagů
output_lines = result.stdout.splitlines()
tags = [
line.split("refs/tags/")[-1] for line in output_lines
if "refs/tags/" in line and "^{}" not in line
]
return tagsPříklad použití:
usage_example.py
list_all_tags_for_remote_git_repo("https://github.com/EmbeddedRPC/erpc.git")Výsledek:
tags_output.txt
['1.10.0',
'1.11.0',
'1.4.0',
'1.4.1',
'1.5.0',
'1.6.0',
'1.7.0',
'1.7.1',
'1.7.2',
'1.7.3',
'1.7.4',
'1.8.0',
'1.8.1',
'1.9.0',
'1.9.1']Pokud vám tento článek pomohl, zvažte, zda mi nekoupíte kávu nebo nepřispějete přes PayPal na podporu výzkumu a publikování nových článků na TechOverflow