diff --git a/app.py b/app.py
index c7210b0..a05ebd4 100644
--- a/app.py
+++ b/app.py
from git.repo import get_bare_repos
from git.commit import get_commits, get_commit
+from git.ref import get_refs
app = Flask(__name__)
commit = get_commit(f"{repo_path}/{repo_name}", commit_hash)
return render_template("commit.html", repo_name=repo_name, commit=commit)
+@app.route("/<repo_name>/refs")
+def repo_refs(repo_name):
+ refs = get_refs(f"{repo_path}/{repo_name}")
+ return render_template("refs.html", repo_name=repo_name, refs=refs)
+
if __name__ == "__main__":
app.run(debug=True)
\ No newline at end of file
diff --git a/git/ref.py b/git/ref.py
new file mode 100644
index 0000000..4e21555
--- /dev/null
+++ b/git/ref.py
+import pygit2 as git
+
+def get_refs(path):
+ repo = git.Repository(path)
+ refs = []
+ for ref_name in repo.listall_references():
+ ref = repo.lookup_reference(ref_name)
+ refs.append({
+ 'name': ref.name,
+ 'target': str(ref.target)
+ })
+ return refs
\ No newline at end of file
diff --git a/templates/refs.html b/templates/refs.html
new file mode 100644
index 0000000..f4b8af2
--- /dev/null
+++ b/templates/refs.html
+{% block content %}
+ <h1>Refs for {{ repo_name }}</h1>
+ <ul>
+ {% for ref in refs %}
+ <li>
+ {{ ref.name }} - {{ ref.target }}
+ </li>
+ {% endfor %}
+ </ul>
+{% endblock %}
\ No newline at end of file