allow specifying a reference branch when starting work on an issue

This commit is contained in:
Benjamin Dauvergne 2019-08-06 16:59:36 +02:00
parent 48650d3343
commit a0597039ec
1 changed files with 5 additions and 3 deletions

View File

@ -193,7 +193,8 @@ def apply_attachments(repo, issue):
@issue.command()
@click.argument('issue_number')
def take(issue_number):
@click.option('--reference', default=None)
def take(issue_number, reference):
'''Create or switch to a branch to fix an issue'''
api = get_redmine_api()
issue = api.issue.get(issue_number, include='attachments')
@ -207,9 +208,10 @@ def take(issue_number):
else:
new = True
default_branch_name = 'wip/%s-%s' % (issue_number, slugify(issue.subject)[:32])
click.confirm('Do you want to create a branch tracking master ?', abort=True)
click.confirm('Do you want to create a branch tracking %s ?' % (reference or 'origin/master'),
default=True, abort=True)
branch_name = click.prompt('Branch name', default=default_branch_name)
branch = repo.create_head(branch_name)
branch = repo.create_head(branch_name, commit=reference or 'origin/master')
set_branch_option(branch, 'merge', 'refs/heads/master')
set_branch_option(branch, 'remote', '.')
if repo.head.reference == branch: