Move to git_utils

This commit is contained in:
huchenlei 2024-12-20 15:02:58 -08:00
parent 4e44c26beb
commit 19be1f85da
3 changed files with 33 additions and 30 deletions

View File

@ -437,35 +437,6 @@ def setup_environment():
git.Git().update_environment(GIT_PYTHON_GIT_EXECUTABLE=config['default']['git_exe'])
def is_git_repo(path: str) -> bool:
""" Check if the path is a git repository. """
try:
# Try to create a Repo object from the path
_ = git.Repo(path).git_dir
return True
except git.exc.InvalidGitRepositoryError:
return False
def get_commit_hash(fullpath):
git_head = os.path.join(fullpath, '.git', 'HEAD')
if os.path.exists(git_head):
with open(git_head) as f:
line = f.readline()
if line.startswith("ref: "):
ref = os.path.join(fullpath, '.git', line[5:].strip())
if os.path.exists(ref):
with open(ref) as f2:
return f2.readline().strip()
else:
return "unknown"
else:
return line
return "unknown"
setup_environment()

32
glob/git_utils.py Normal file
View File

@ -0,0 +1,32 @@
import os
import git
def is_git_repo(path: str) -> bool:
""" Check if the path is a git repository. """
try:
# Try to create a Repo object from the path
_ = git.Repo(path).git_dir
return True
except git.exc.InvalidGitRepositoryError:
return False
def get_commit_hash(fullpath):
git_head = os.path.join(fullpath, '.git', 'HEAD')
if os.path.exists(git_head):
with open(git_head) as f:
line = f.readline()
if line.startswith("ref: "):
ref = os.path.join(fullpath, '.git', line[5:].strip())
if os.path.exists(ref):
with open(ref) as f2:
return f2.readline().strip()
else:
return "unknown"
else:
return line
return "unknown"

View File

@ -5,7 +5,7 @@ import os
import toml
from git_helper import is_git_repo, get_commit_hash
from git_utils import is_git_repo, get_commit_hash
@dataclass