Rev 2020: Merge fix for 299490. in file:///data/jelmer/bzr-svn/0.5/

Jelmer Vernooij jelmer at samba.org
Tue Nov 18 22:33:12 GMT 2008


At file:///data/jelmer/bzr-svn/0.5/

------------------------------------------------------------
revno: 2020
revision-id: jelmer at samba.org-20081118223309-6h12lwwf8g9dicdi
parent: jelmer at samba.org-20081118173318-4lzshg0z1o7dtsub
parent: jelmer at samba.org-20081118222630-eblzc2vymzhwmnw4
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: 0.5
timestamp: Tue 2008-11-18 23:33:09 +0100
message:
  Merge fix for 299490.
modified:
  NEWS                           news-20061231030336-h9fhq245ie0de8bs-1
  branch.py                      svnbranch.py-20051017135706-11c749eb0dab04a7
  foreign/__init__.py            foreign.py-20080827193306-rxeku2c2obec90c4-1
  mapping.py                     mapping.py-20080128201303-6cp01phc0dmc0kiv-1
  mapping2.py                    mapping.py-20080904055555-lw057kjuadn0r2ma-2
  mapping3/__init__.py           __init__.py-20080502174630-9324zh25kka98vlw-1
  mapping4.py                    mapping4.py-20080827182338-y4xzpsf43vyiwcir-1
    ------------------------------------------------------------
    revno: 1669.10.2
    revision-id: jelmer at samba.org-20081118222630-eblzc2vymzhwmnw4
    parent: jelmer at samba.org-20081118170305-37bo3sgmbufxr4kl
    committer: Jelmer Vernooij <jelmer at samba.org>
    branch nick: 0.4
    timestamp: Tue 2008-11-18 23:26:30 +0100
    message:
      Give proper error when tags can't be pushed.
    modified:
      NEWS                           news-20061231030336-h9fhq245ie0de8bs-1
      branch.py                      svnbranch.py-20051017135706-11c749eb0dab04a7
      mapping.py                     mapping.py-20080128201303-6cp01phc0dmc0kiv-1
      mapping3/__init__.py           __init__.py-20080502174630-9324zh25kka98vlw-1
=== modified file 'NEWS'
--- a/NEWS	2008-11-15 00:52:37 +0000
+++ b/NEWS	2008-11-18 22:33:09 +0000
@@ -69,6 +69,8 @@
 
    * Add --svn-override-revprops option to svn-push.
 
+   * Give proper error when tags can't be pushed. (#299490)
+
 bzr-svn 0.4.15	2008-11-10
 
   BUG FIXES

=== modified file 'branch.py'
--- a/branch.py	2008-11-17 16:40:30 +0000
+++ b/branch.py	2008-11-18 22:33:09 +0000
@@ -16,6 +16,7 @@
 """Handles branch-specific operations."""
 
 from bzrlib import (
+        tag,
         ui,
         urlutils,
         )
@@ -74,10 +75,10 @@
             look at; none for latest.
         """
         self.repository = repository
+        self._format = SvnBranchFormat()
         assert isinstance(self.repository, SvnRepository)
         super(SvnBranch, self).__init__(self.repository.get_mapping())
         self.control_files = FakeControlFiles()
-        self._format = SvnBranchFormat()
         self._lock_mode = None
         self._lock_count = 0
         self.layout = self.repository.get_layout()
@@ -105,7 +106,10 @@
             raise NotBranchError(branch_path)
 
     def _make_tags(self):
-        return SubversionTags(self)
+        if self.supports_tags():
+            return SubversionTags(self)
+        else:
+            return DisabledTags(self)
 
     def set_branch_path(self, branch_path):
         """Change the branch path for this branch.
@@ -526,7 +530,7 @@
         return '%s(%r)' % (self.__class__.__name__, self.base)
 
     def supports_tags(self):
-        return self._format.supports_tags()
+        return self._format.supports_tags() and self.mapping.supports_tags()
 
     __repr__ = __str__
 

=== modified file 'foreign/__init__.py'
--- a/foreign/__init__.py	2008-11-12 16:52:25 +0000
+++ b/foreign/__init__.py	2008-11-18 22:33:09 +0000
@@ -128,8 +128,8 @@
     """Branch that exists in a foreign version control system."""
 
     def __init__(self, mapping):
+        self.mapping = mapping
         super(ForeignBranch, self).__init__()
-        self.mapping = mapping
 
     def dpull(self, source, stop_revision=None):
         """Pull deltas from another branch.

=== modified file 'mapping.py'
--- a/mapping.py	2008-11-16 16:10:08 +0000
+++ b/mapping.py	2008-11-18 22:33:09 +0000
@@ -470,6 +470,9 @@
     def get_revision_id(self, branch_path, revprops, fileprops):
         raise NotImplementedError(self.get_revision_id)
 
+    def supports_tags(self):
+        raise NotImplementedError(self.supports_tags)
+
     @classmethod
     def get_test_instance(cls):
         return cls()

=== modified file 'mapping2.py'
--- a/mapping2.py	2008-11-12 16:21:36 +0000
+++ b/mapping2.py	2008-11-18 22:33:09 +0000
@@ -115,6 +115,9 @@
         else:
             raise LayoutUnusable(layout, self)
 
+    def supports_tags(self):
+        return False
+
 
 class BzrSvnMappingv2(BzrSvnMappingv1):
     """The second version of the mappings as used in the 0.3.x series.

=== modified file 'mapping3/__init__.py'
--- a/mapping3/__init__.py	2008-11-12 11:05:31 +0000
+++ b/mapping3/__init__.py	2008-11-18 22:33:09 +0000
@@ -266,6 +266,13 @@
     def is_tag(self, tag_path):
         return self.scheme.is_tag(tag_path)
 
+    def supports_tags(self):
+        try:
+            self.scheme.get_tag_path("foo")
+            return True
+        except NotImplementedError:
+            return False
+
     @classmethod
     def _generate_revision_id(cls, uuid, revnum, path, scheme):
         assert isinstance(revnum, int)

=== modified file 'mapping4.py'
--- a/mapping4.py	2008-11-12 10:24:38 +0000
+++ b/mapping4.py	2008-11-18 22:33:09 +0000
@@ -180,3 +180,6 @@
             return
         old_value = fileprops.get(mapping.SVN_PROP_BZR_HIDDEN, "0")
         fileprops[mapping.SVN_PROP_BZR_HIDDEN] = str(int(old_value)+1)
+
+    def supports_tags(self):
+        return True




More information about the bazaar-commits mailing list