~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/branch.py

  • Committer: Patch Queue Manager
  • Date: 2011-09-08 11:01:15 UTC
  • mfrom: (6123.1.16 gpg-typo)
  • Revision ID: pqm@cupuasso-20110908110115-gbb9benwkdksvzk5
(jelmer) Fix a typo (invalid format identifier) in an error message in
 bzrlib.gpg. (Jelmer Vernooij)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1739
1739
        """True if this format supports tags stored in the branch"""
1740
1740
        return False  # by default
1741
1741
 
 
1742
    def tags_are_versioned(self):
 
1743
        """Whether the tag container for this branch versions tags."""
 
1744
        return False
 
1745
 
 
1746
    def supports_tags_referencing_ghosts(self):
 
1747
        """True if tags can reference ghost revisions."""
 
1748
        return True
 
1749
 
1742
1750
 
1743
1751
class MetaDirBranchFormatFactory(registry._LazyObjectGetter):
1744
1752
    """A factory for a BranchFormat object, permitting simple lazy registration.
3044
3052
    :ivar local_branch: target branch if there is a Master, else None
3045
3053
    :ivar target_branch: Target/destination branch object. (write locked)
3046
3054
    :ivar tag_conflicts: A list of tag conflicts, see BasicTags.merge_to
 
3055
    :ivar tag_updates: A dict with new tags, see BasicTags.merge_to
3047
3056
    """
3048
3057
 
3049
3058
    @deprecated_method(deprecated_in((2, 3, 0)))
3055
3064
        return self.new_revno - self.old_revno
3056
3065
 
3057
3066
    def report(self, to_file):
 
3067
        tag_conflicts = getattr(self, "tag_conflicts", None)
 
3068
        tag_updates = getattr(self, "tag_updates", None)
3058
3069
        if not is_quiet():
3059
 
            if self.old_revid == self.new_revid:
3060
 
                to_file.write('No revisions to pull.\n')
3061
 
            else:
 
3070
            if self.old_revid != self.new_revid:
3062
3071
                to_file.write('Now on revision %d.\n' % self.new_revno)
 
3072
            if tag_updates:
 
3073
                to_file.write('%d tag(s) updated.\n' % len(tag_updates))
 
3074
            if self.old_revid == self.new_revid and not tag_updates:
 
3075
                if not tag_conflicts:
 
3076
                    to_file.write('No revisions or tags to pull.\n')
 
3077
                else:
 
3078
                    to_file.write('No revisions to pull.\n')
3063
3079
        self._show_tag_conficts(to_file)
3064
3080
 
3065
3081
 
3091
3107
        return self.new_revno - self.old_revno
3092
3108
 
3093
3109
    def report(self, to_file):
3094
 
        """Write a human-readable description of the result."""
3095
 
        if self.old_revid == self.new_revid:
3096
 
            note('No new revisions to push.')
3097
 
        else:
3098
 
            note('Pushed up to revision %d.' % self.new_revno)
 
3110
        # TODO: This function gets passed a to_file, but then
 
3111
        # ignores it and calls note() instead. This is also
 
3112
        # inconsistent with PullResult(), which writes to stdout.
 
3113
        # -- JRV20110901, bug #838853
 
3114
        tag_conflicts = getattr(self, "tag_conflicts", None)
 
3115
        tag_updates = getattr(self, "tag_updates", None)
 
3116
        if not is_quiet():
 
3117
            if self.old_revid != self.new_revid:
 
3118
                note('Pushed up to revision %d.' % self.new_revno)
 
3119
            if tag_updates:
 
3120
                note('%d tag(s) updated.' % len(tag_updates))
 
3121
            if self.old_revid == self.new_revid and not tag_updates:
 
3122
                if not tag_conflicts:
 
3123
                    note('No new revisions or tags to push.')
 
3124
                else:
 
3125
                    note('No new revisions to push.')
3099
3126
        self._show_tag_conficts(to_file)
3100
3127
 
3101
3128
 
3409
3436
            self._update_revisions(stop_revision, overwrite=overwrite,
3410
3437
                    graph=graph)
3411
3438
        if self.source._push_should_merge_tags():
3412
 
            result.tag_conflicts = self.source.tags.merge_to(self.target.tags,
3413
 
                overwrite)
 
3439
            result.tag_updates, result.tag_conflicts = (
 
3440
                self.source.tags.merge_to(self.target.tags, overwrite))
3414
3441
        result.new_revno, result.new_revid = self.target.last_revision_info()
3415
3442
        return result
3416
3443
 
3499
3526
            # TODO: The old revid should be specified when merging tags, 
3500
3527
            # so a tags implementation that versions tags can only 
3501
3528
            # pull in the most recent changes. -- JRV20090506
3502
 
            result.tag_conflicts = self.source.tags.merge_to(self.target.tags,
3503
 
                overwrite, ignore_master=not merge_tags_to_master)
 
3529
            result.tag_updates, result.tag_conflicts = (
 
3530
                self.source.tags.merge_to(self.target.tags, overwrite,
 
3531
                    ignore_master=not merge_tags_to_master))
3504
3532
            result.new_revno, result.new_revid = self.target.last_revision_info()
3505
3533
            if _hook_master:
3506
3534
                result.master_branch = _hook_master