/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to breezy/builtins.py

  • Committer: Jelmer Vernooij
  • Date: 2018-09-30 18:50:06 UTC
  • mto: This revision was merged to the branch mainline in revision 7162.
  • Revision ID: jelmer@jelmer.uk-20180930185006-foczadvwnd2nv3ly
Add --bugs option to 'bzr commit'.

Show diffs side-by-side

added added

removed removed

Lines of Context:
3517
3517
             Option('commit-time', type=text_type,
3518
3518
                    help="Manually set a commit time using commit date "
3519
3519
                    "format, e.g. '2009-10-10 08:00:00 +0100'."),
 
3520
             ListOption('bugs', type=text_type,
 
3521
                    help="Link to a related bug. (see \"brz help bugs\")."),
3520
3522
             ListOption('fixes', type=text_type,
3521
3523
                    help="Mark a bug as being fixed by this revision "
3522
3524
                         "(see \"brz help bugs\")."),
3539
3541
             ]
3540
3542
    aliases = ['ci', 'checkin']
3541
3543
 
3542
 
    def _iter_bug_fix_urls(self, fixes, branch):
 
3544
    def _iter_bug_urls(self, bugs, branch, status):
3543
3545
        default_bugtracker  = None
3544
3546
        # Configure the properties for bug fixing attributes.
3545
 
        for fixed_bug in fixes:
3546
 
            tokens = fixed_bug.split(':')
 
3547
        for bug in bugs:
 
3548
            tokens = bug.split(':')
3547
3549
            if len(tokens) == 1:
3548
3550
                if default_bugtracker is None:
3549
3551
                    branch_config = branch.get_config_stack()
3555
3557
                        "'tracker:id' or specify a default bug tracker "
3556
3558
                        "using the `bugtracker` option.\nSee "
3557
3559
                        "\"brz help bugs\" for more information on this "
3558
 
                        "feature. Commit refused.") % fixed_bug)
 
3560
                        "feature. Commit refused.") % bug)
3559
3561
                tag = default_bugtracker
3560
3562
                bug_id = tokens[0]
3561
3563
            elif len(tokens) != 2:
3562
3564
                raise errors.BzrCommandError(gettext(
3563
3565
                    "Invalid bug %s. Must be in the form of 'tracker:id'. "
3564
3566
                    "See \"brz help bugs\" for more information on this "
3565
 
                    "feature.\nCommit refused.") % fixed_bug)
 
3567
                    "feature.\nCommit refused.") % bug)
3566
3568
            else:
3567
3569
                tag, bug_id = tokens
3568
3570
            try:
3569
 
                yield bugtracker.get_bug_url(tag, branch, bug_id)
 
3571
                yield bugtracker.get_bug_url(tag, branch, bug_id), status
3570
3572
            except bugtracker.UnknownBugTrackerAbbreviation:
3571
3573
                raise errors.BzrCommandError(gettext(
3572
 
                    'Unrecognized bug %s. Commit refused.') % fixed_bug)
 
3574
                    'Unrecognized bug %s. Commit refused.') % bug)
3573
3575
            except bugtracker.MalformedBugIdentifier as e:
3574
3576
                raise errors.BzrCommandError(gettext(
3575
3577
                    u"%s\nCommit refused.") % (e,))
3576
3578
 
3577
3579
    def run(self, message=None, file=None, verbose=False, selected_list=None,
3578
 
            unchanged=False, strict=False, local=False, fixes=None,
 
3580
            unchanged=False, strict=False, local=False, fixes=None, bugs=None,
3579
3581
            author=None, show_diff=False, exclude=None, commit_time=None,
3580
3582
            lossy=False):
 
3583
        import itertools
3581
3584
        from .commit import (
3582
3585
            PointlessCommit,
3583
3586
            )
3611
3614
 
3612
3615
        if fixes is None:
3613
3616
            fixes = []
 
3617
        if bugs is None:
 
3618
            bugs = []
3614
3619
        bug_property = bugtracker.encode_fixes_bug_urls(
3615
 
            self._iter_bug_fix_urls(fixes, tree.branch))
 
3620
            itertools.chain(
 
3621
                self._iter_bug_urls(bugs, tree.branch, bugtracker.RELATED),
 
3622
                self._iter_bug_urls(fixes, tree.branch, bugtracker.FIXED)))
3616
3623
        if bug_property:
3617
3624
            properties[u'bugs'] = bug_property
3618
3625