54 lines
1.1 KiB
Python
54 lines
1.1 KiB
Python
import subprocess
|
|
|
|
git_branches = subprocess.run(
|
|
['git', 'branch'],
|
|
stdout=subprocess.PIPE,
|
|
text=True,
|
|
).stdout.strip()
|
|
|
|
|
|
def git_add_worktree(worktree_name, branch_name, git_branches=git_branches):
|
|
# FIXME: This should check for the exact branch name.
|
|
# If NGAV-1000 already exists, an error is thrown when
|
|
# NGAV-100 tries to be created
|
|
existing_branch = branch_name in git_branches
|
|
|
|
subprocess.run([
|
|
'git',
|
|
'worktree',
|
|
'add',
|
|
worktree_name,
|
|
'--checkout' if existing_branch else '-b',
|
|
branch_name
|
|
])
|
|
|
|
|
|
def git_remove_worktree(worktree_name):
|
|
subprocess.run([
|
|
'git',
|
|
'worktree',
|
|
'remove',
|
|
worktree_name
|
|
])
|
|
|
|
|
|
def git_checkout_branch(branch_name):
|
|
subprocess.run([
|
|
'git',
|
|
'checkout',
|
|
'-b',
|
|
branch_name
|
|
])
|
|
|
|
|
|
def git_current_branch():
|
|
return subprocess.run(
|
|
['git', 'branch', '--show-current'],
|
|
stdout=subprocess.PIPE,
|
|
text=True,
|
|
).stdout
|
|
|
|
|
|
def git_commit(commit_message):
|
|
subprocess.run(['git', 'commit', '-m', commit_message])
|