diff options
Diffstat (limited to 'src/g2h/git.py')
| -rw-r--r-- | src/g2h/git.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/g2h/git.py b/src/g2h/git.py new file mode 100644 index 0000000..283135c --- /dev/null +++ b/src/g2h/git.py @@ -0,0 +1,23 @@ +import git + +class Git: + def __init__(self, repo_path): + try: + self.repo = git.Repo(repo_path) + except git.InvalidGitRepositoryError: + raise ValueError(f"Invalid git repository at {repo_path}") + + def get_branches(self): + return self.repo.branches + + def get_commits(self): + return list(self.repo.iter_commits()) + + def get_head(self): + return self.repo.head.commit + + def get_repo(self): + return self.repo + + def get_tags(self): + return self.repo.tags |