Rev 4585: (mbp) KnownFailure for bug 408193 in file:///home/pqm/archives/thelove/bzr/%2Btrunk/

Canonical.com Patch Queue Manager pqm at pqm.ubuntu.com
Tue Aug 4 13:35:10 BST 2009


At file:///home/pqm/archives/thelove/bzr/%2Btrunk/

------------------------------------------------------------
revno: 4585 [merge]
revision-id: pqm at pqm.ubuntu.com-20090804123507-6hzrl27orc90ernc
parent: pqm at pqm.ubuntu.com-20090804052054-yd271soudff1dbgt
parent: mbp at sourcefrog.net-20090804112523-hijycs32uketxw52
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Tue 2009-08-04 13:35:07 +0100
message:
  (mbp) KnownFailure for bug 408193
modified:
  NEWS                           NEWS-20050323055033-4e00b5db738777ff
  bzrlib/bzrdir.py               bzrdir.py-20060131065624-156dfea39c4387cb
  bzrlib/tests/blackbox/test_branch.py test_branch.py-20060524161337-noms9gmcwqqrfi8y-1
  bzrlib/tests/blackbox/test_checkout.py test_checkout.py-20060211231752-a5cde67cf70af854
  bzrlib/workingtree_4.py        workingtree_4.py-20070208044105-5fgpc5j3ljlh5q6c-1
=== modified file 'NEWS'
--- a/NEWS	2009-08-04 04:07:13 +0000
+++ b/NEWS	2009-08-04 12:35:07 +0000
@@ -107,6 +107,11 @@
   imported.  This caused significant slowdowns when reading data from
   repositories.  (Andrew Bennetts, #405653)
   
+* The ``--hardlink`` option to ``branch`` and ``checkout`` is not
+  supported at the moment on workingtree formats that can do content
+  filtering.  (See <https://bugs.edge.launchpad.net/bzr/+bug/408193>.)
+  bzr now says so, rather than just ignoring the option.  (Martin Pool)
+
 * There was a bug in ``osutils.relpath`` that was only triggered on
   Windows. Essentially if you were at the root of a drive, and did
   something to a branch/repo on another drive, we would go into an

=== modified file 'bzrlib/bzrdir.py'
--- a/bzrlib/bzrdir.py	2009-07-18 21:09:00 +0000
+++ b/bzrlib/bzrdir.py	2009-08-03 04:11:06 +0000
@@ -77,6 +77,7 @@
 from bzrlib.trace import (
     mutter,
     note,
+    warning,
     )
 
 from bzrlib import (
@@ -1384,6 +1385,9 @@
         # that can do wonky stuff here, and that only
         # happens for creating checkouts, which cannot be
         # done on this format anyway. So - acceptable wart.
+        if hardlink:
+            warning("can't support hardlinked working trees in %r"
+                % (self,))
         try:
             result = self.open_workingtree(recommend_upgrade=False)
         except errors.NoSuchFile:

=== modified file 'bzrlib/tests/blackbox/test_branch.py'
--- a/bzrlib/tests/blackbox/test_branch.py	2009-07-01 15:25:31 +0000
+++ b/bzrlib/tests/blackbox/test_branch.py	2009-08-03 04:19:03 +0000
@@ -22,7 +22,10 @@
 from bzrlib import (branch, bzrdir, errors, repository)
 from bzrlib.repofmt.knitrepo import RepositoryFormatKnit1
 from bzrlib.tests.blackbox import ExternalBase
-from bzrlib.tests import HardlinkFeature
+from bzrlib.tests import (
+    KnownFailure,
+    HardlinkFeature,
+    )
 from bzrlib.tests.test_sftp_transport import TestCaseWithSFTPServer
 from bzrlib.urlutils import local_path_to_url, strip_trailing_slash
 from bzrlib.workingtree import WorkingTree
@@ -93,10 +96,18 @@
         self.build_tree(['source/file1'])
         source.add('file1')
         source.commit('added file')
-        self.run_bzr(['branch', 'source', 'target', '--hardlink'])
+        out, err = self.run_bzr(['branch', 'source', 'target', '--hardlink'])
         source_stat = os.stat('source/file1')
         target_stat = os.stat('target/file1')
-        self.assertEqual(source_stat, target_stat)
+        same_file = (source_stat == target_stat)
+        if same_file:
+            pass
+        else:
+            # https://bugs.edge.launchpad.net/bzr/+bug/408193
+            self.assertContainsRe(err, "hardlinking working copy files is "
+                "not currently supported")
+            raise KnownFailure("--hardlink doesn't work in formats "
+                "that support content filtering (#408193)")
 
     def test_branch_standalone(self):
         shared_repo = self.make_repository('repo', shared=True)

=== modified file 'bzrlib/tests/blackbox/test_checkout.py'
--- a/bzrlib/tests/blackbox/test_checkout.py	2009-03-23 14:59:43 +0000
+++ b/bzrlib/tests/blackbox/test_checkout.py	2009-08-03 04:19:03 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2005, 2006 Canonical Ltd
+# Copyright (C) 2005, 2006, 2009 Canonical Ltd
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -28,8 +28,13 @@
     errors,
     workingtree,
     )
-from bzrlib.tests.blackbox import ExternalBase
-from bzrlib.tests import HardlinkFeature
+from bzrlib.tests.blackbox import (
+    ExternalBase,
+    )
+from bzrlib.tests import (
+    HardlinkFeature,
+    KnownFailure,
+    )
 
 
 class TestCheckout(ExternalBase):
@@ -150,8 +155,17 @@
         self.build_tree(['source/file1'])
         source.add('file1')
         source.commit('added file')
-        self.run_bzr(['checkout', 'source', 'target', '--files-from', 'source',
-                      '--hardlink'])
+        out, err = self.run_bzr(['checkout', 'source', 'target',
+            '--files-from', 'source',
+            '--hardlink'])
         source_stat = os.stat('source/file1')
         target_stat = os.stat('target/file1')
-        self.assertEqual(source_stat, target_stat)
+        same_file = (source_stat == target_stat)
+        if same_file:
+            pass
+        else:
+            # https://bugs.edge.launchpad.net/bzr/+bug/408193
+            self.assertContainsRe(err, "hardlinking working copy files is "
+                "not currently supported")
+            raise KnownFailure("--hardlink doesn't work in formats "
+                "that support content filtering (#408193)")

=== modified file 'bzrlib/workingtree_4.py'
--- a/bzrlib/workingtree_4.py	2009-07-17 06:04:35 +0000
+++ b/bzrlib/workingtree_4.py	2009-08-04 11:25:23 +0000
@@ -1423,6 +1423,10 @@
                 # applied so we can't safely build the inventory delta from
                 # the source tree.
                 if wt.supports_content_filtering():
+                    if hardlink:
+                        # see https://bugs.edge.launchpad.net/bzr/+bug/408193
+                        trace.warning("hardlinking working copy files is not currently "
+                            "supported in %r" % (wt,))
                     accelerator_tree = None
                     delta_from_tree = False
                 else:




More information about the bazaar-commits mailing list