Rev 4179: fix add in view-aware trees (Ian Clatworthy) in file:///home/pqm/archives/thelove/bzr/%2Btrunk/
Canonical.com Patch Queue Manager
pqm at pqm.ubuntu.com
Sat Mar 21 03:25:12 GMT 2009
At file:///home/pqm/archives/thelove/bzr/%2Btrunk/
------------------------------------------------------------
revno: 4179
revision-id: pqm at pqm.ubuntu.com-20090321032508-w7hv4lggslu16zl2
parent: pqm at pqm.ubuntu.com-20090320192036-455rjm03qqnr818d
parent: ian.clatworthy at canonical.com-20090321023610-q26st6dao1iso8px
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Sat 2009-03-21 03:25:08 +0000
message:
fix add in view-aware trees (Ian Clatworthy)
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/builtins.py builtins.py-20050830033751-fc01482b9ca23183
bzrlib/tests/blackbox/test_add.py test_add.py-20060518072250-857e4f86f54a30b2
bzrlib/tests/workingtree_implementations/test_smart_add.py test_smart_add.py-20070215175752-9s5mxoz8aqpd80fm-1
------------------------------------------------------------
revno: 4178.1.1
revision-id: ian.clatworthy at canonical.com-20090321023610-q26st6dao1iso8px
parent: pqm at pqm.ubuntu.com-20090320192036-455rjm03qqnr818d
parent: ian.clatworthy at canonical.com-20090319201223-hfwv6pnd6s7ym27s
committer: Ian Clatworthy <ian.clatworthy at canonical.com>
branch nick: ianc-integration
timestamp: Sat 2009-03-21 12:36:10 +1000
message:
fix add in view-aware trees (Ian Clatworthy)
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/builtins.py builtins.py-20050830033751-fc01482b9ca23183
bzrlib/tests/blackbox/test_add.py test_add.py-20060518072250-857e4f86f54a30b2
bzrlib/tests/workingtree_implementations/test_smart_add.py test_smart_add.py-20070215175752-9s5mxoz8aqpd80fm-1
------------------------------------------------------------
revno: 4163.2.2
revision-id: ian.clatworthy at canonical.com-20090319201223-hfwv6pnd6s7ym27s
parent: ian.clatworthy at canonical.com-20090318200105-bd4wt98cbe89uvuf
committer: Ian Clatworthy <ian.clatworthy at canonical.com>
branch nick: bzr.add-view-bug
timestamp: Fri 2009-03-20 06:12:23 +1000
message:
use multiply_tests rather than subclassing
modified:
bzrlib/tests/blackbox/test_add.py test_add.py-20060518072250-857e4f86f54a30b2
------------------------------------------------------------
revno: 4163.2.1
revision-id: ian.clatworthy at canonical.com-20090318200105-bd4wt98cbe89uvuf
parent: pqm at pqm.ubuntu.com-20090318051809-7p0igxlyeg4szx72
committer: Ian Clatworthy <ian.clatworthy at canonical.com>
branch nick: bzr.add-view-bug
timestamp: Thu 2009-03-19 06:01:05 +1000
message:
Fix add in trees supports views
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/builtins.py builtins.py-20050830033751-fc01482b9ca23183
bzrlib/tests/blackbox/test_add.py test_add.py-20060518072250-857e4f86f54a30b2
bzrlib/tests/workingtree_implementations/test_smart_add.py test_smart_add.py-20070215175752-9s5mxoz8aqpd80fm-1
=== modified file 'NEWS'
--- a/NEWS 2009-03-20 19:20:36 +0000
+++ b/NEWS 2009-03-21 02:36:10 +0000
@@ -86,6 +86,10 @@
* Fixed incorrect "Source format does not support stacking" warning
when pushing to a smart server. (Andrew Bennetts, #334114)
+* Fixed "Specified file 'x/y/z' is outside current view: " occurring
+ on ``bzr add x/y/z`` in WorkingTree5 formats (e.g. ``development-wt5``)
+ when no view is defined. (Ian Clatworthy, #344708)
+
* It is no longer possible to fetch between repositories while the
target repository is in a write group. This prevents race conditions
that prevent the use of RPC's to perform fetch, and thus allows
=== modified file 'bzrlib/builtins.py'
--- a/bzrlib/builtins.py 2009-03-20 05:08:48 +0000
+++ b/bzrlib/builtins.py 2009-03-21 02:36:10 +0000
@@ -83,9 +83,10 @@
tree = WorkingTree.open_containing(file_list[0])[0]
if tree.supports_views():
view_files = tree.views.lookup_view()
- for filename in file_list:
- if not osutils.is_inside_any(view_files, filename):
- raise errors.FileOutsideView(filename, view_files)
+ if view_files:
+ for filename in file_list:
+ if not osutils.is_inside_any(view_files, filename):
+ raise errors.FileOutsideView(filename, view_files)
else:
tree = WorkingTree.open_containing(u'.')[0]
if tree.supports_views():
=== modified file 'bzrlib/tests/blackbox/test_add.py'
--- a/bzrlib/tests/blackbox/test_add.py 2009-03-03 23:05:52 +0000
+++ b/bzrlib/tests/blackbox/test_add.py 2009-03-19 20:12:23 +0000
@@ -19,12 +19,32 @@
import os
+from bzrlib.tests import (
+ condition_isinstance,
+ split_suite_by_condition,
+ multiply_tests,
+ )
from bzrlib.tests.blackbox import ExternalBase
from bzrlib.tests.test_win32utils import NeedsGlobExpansionFeature
+def load_tests(standard_tests, module, loader):
+ """Parameterize tests for view-aware vs not."""
+ to_adapt, result = split_suite_by_condition(
+ standard_tests, condition_isinstance(TestAdd))
+ scenarios = [
+ ('pre-views', {'branch_tree_format': 'pack-0.92'}),
+ ('view-aware', {'branch_tree_format': 'development-wt5'}),
+ ]
+ return multiply_tests(to_adapt, scenarios, result)
+
+
class TestAdd(ExternalBase):
+ def make_branch_and_tree(self, dir):
+ return ExternalBase.make_branch_and_tree(self, dir,
+ format=self.branch_tree_format)
+
def test_add_reports(self):
"""add command prints the names of added files."""
tree = self.make_branch_and_tree('.')
=== modified file 'bzrlib/tests/workingtree_implementations/test_smart_add.py'
--- a/bzrlib/tests/workingtree_implementations/test_smart_add.py 2009-02-23 15:29:35 +0000
+++ b/bzrlib/tests/workingtree_implementations/test_smart_add.py 2009-03-18 20:01:05 +0000
@@ -175,6 +175,16 @@
self.assertEqual(None, wt.path2id(path.rstrip('/')),
'Accidentally added path: %s' % (path,))
+ def test_add_file_in_unknown_dir(self):
+ # Test that parent directory addition is implicit
+ tree = self.make_branch_and_tree('.')
+ self.build_tree(['dir/', 'dir/subdir/', 'dir/subdir/foo'])
+ tree.smart_add(['dir/subdir/foo'])
+ tree.lock_read()
+ self.addCleanup(tree.unlock)
+ self.assertEqual(['', 'dir', 'dir/subdir', 'dir/subdir/foo'],
+ [path for path, ie in tree.iter_entries_by_dir()])
+
def test_custom_ids(self):
sio = StringIO()
action = AddCustomIDAction(to_file=sio, should_print=True)
More information about the bazaar-commits
mailing list