~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/builtins.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2011-09-01 18:11:38 UTC
  • mfrom: (6111.2.1 tag-same-rev-no-error)
  • Revision ID: pqm@pqm.ubuntu.com-20110901181138-l9mi0miijmx29wm9
(jelmer) bzr tag no longer errors if a tag exists but has the same target.
 (Jelmer Vernooij)

Show diffs side-by-side

added added

removed removed

Lines of Context:
5621
5621
                if tag_name is None:
5622
5622
                    raise errors.BzrCommandError(
5623
5623
                        "Please specify a tag name.")
5624
 
            if (not force) and branch.tags.has_tag(tag_name):
 
5624
            try:
 
5625
                existing_target = branch.tags.lookup_tag(tag_name)
 
5626
            except errors.NoSuchTag:
 
5627
                existing_target = None
 
5628
            if not force and existing_target not in (None, revision_id):
5625
5629
                raise errors.TagAlreadyExists(tag_name)
5626
 
            branch.tags.set_tag(tag_name, revision_id)
5627
 
            note('Created tag %s.' % tag_name)
 
5630
            if existing_target == revision_id:
 
5631
                note('Tag %s already exists for that revision.' % tag_name)
 
5632
            else:
 
5633
                branch.tags.set_tag(tag_name, revision_id)
 
5634
                note('Created tag %s.' % tag_name)
5628
5635
 
5629
5636
 
5630
5637
class cmd_tags(Command):