using different way for deleting remote branches
This commit is contained in:
parent
d48ff97d0d
commit
8ea2a3b846
1 changed files with 3 additions and 6 deletions
|
@ -32,7 +32,8 @@ def delete_old_branches(repo_path: str, max_age: datetime.datetime, branch_patte
|
||||||
This script assumes that $repo_path contains a current checkout of the repository ot be cleaned up.
|
This script assumes that $repo_path contains a current checkout of the repository ot be cleaned up.
|
||||||
"""
|
"""
|
||||||
repo = git.Repo(repo_path)
|
repo = git.Repo(repo_path)
|
||||||
refs = repo.remotes[remote_name].refs
|
remote = repo.remote(name=remote_name)
|
||||||
|
refs = remote.refs
|
||||||
print('Found {} references at {} in total.'.format(len(refs), remote_name))
|
print('Found {} references at {} in total.'.format(len(refs), remote_name))
|
||||||
del_count = 0
|
del_count = 0
|
||||||
for reference in refs:
|
for reference in refs:
|
||||||
|
@ -42,14 +43,10 @@ def delete_old_branches(repo_path: str, max_age: datetime.datetime, branch_patte
|
||||||
print('dryrun: would have deleted {}'.format(reference.name))
|
print('dryrun: would have deleted {}'.format(reference.name))
|
||||||
else:
|
else:
|
||||||
print('Deleting {}'.format(reference.name))
|
print('Deleting {}'.format(reference.name))
|
||||||
git.RemoteReference.delete(repo.remotes[remote_name].repo, reference)
|
remote.push(refspec=':{}'.format(reference.remote_head))
|
||||||
del_count += 1
|
del_count += 1
|
||||||
|
|
||||||
print('Deleted {} references.'.format(del_count))
|
print('Deleted {} references.'.format(del_count))
|
||||||
if not dry_run and del_count > 0:
|
|
||||||
print('Pushing deleted branches to remote...')
|
|
||||||
repo.remotes[remote_name].push()
|
|
||||||
print('Done.')
|
|
||||||
|
|
||||||
|
|
||||||
def _has_pattern_match(name: str, patterns) -> bool:
|
def _has_pattern_match(name: str, patterns) -> bool:
|
||||||
|
|
Loading…
Reference in a new issue