Merge lp:~jelmer/brz/ignored-directory into lp:brz

Proposed by Jelmer Vernooij
Status: Merged
Approved by: Jelmer Vernooij
Approved revision: no longer in the source branch.
Merge reported by: The Breezy Bot
Merged at revision: not available
Proposed branch: lp:~jelmer/brz/ignored-directory
Merge into: lp:brz
Diff against target: 54 lines (+15/-3)
3 files modified
breezy/git/tests/test_workingtree.py (+11/-0)
breezy/git/tree.py (+2/-0)
breezy/git/workingtree.py (+2/-3)
To merge this branch: bzr merge lp:~jelmer/brz/ignored-directory
Reviewer Review Type Date Requested Status
Martin Packman Approve
Review via email: mp+352937@code.launchpad.net

Commit message

Properly handled ignored directories in Git trees.

Description of the change

Properly handled ignored directories in Git trees.

To post a comment you must log in.
Revision history for this message
Martin Packman (gz) wrote :

Thanks!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'breezy/git/tests/test_workingtree.py'
--- breezy/git/tests/test_workingtree.py 2018-08-04 17:32:58 +0000
+++ breezy/git/tests/test_workingtree.py 2018-08-12 03:29:07 +0000
@@ -76,6 +76,17 @@
76 self.tree.revert(['a'])76 self.tree.revert(['a'])
77 self.assertFalse(self.tree.is_versioned('a'))77 self.assertFalse(self.tree.is_versioned('a'))
7878
79 def test_is_ignored_directory(self):
80 self.assertFalse(self.tree.is_ignored('a'))
81 self.build_tree(['a/'])
82 self.assertFalse(self.tree.is_ignored('a'))
83 self.build_tree_contents([('.gitignore', 'a\n')])
84 self.tree._ignoremanager = None
85 self.assertTrue(self.tree.is_ignored('a'))
86 self.build_tree_contents([('.gitignore', 'a/\n')])
87 self.tree._ignoremanager = None
88 self.assertTrue(self.tree.is_ignored('a'))
89
7990
80class TreeDeltaFromGitChangesTests(TestCase):91class TreeDeltaFromGitChangesTests(TestCase):
8192
8293
=== modified file 'breezy/git/tree.py'
--- breezy/git/tree.py 2018-08-04 17:32:58 +0000
+++ breezy/git/tree.py 2018-08-12 03:29:07 +0000
@@ -1294,6 +1294,8 @@
1294 kind = osutils.file_kind(self.abspath(relpath))1294 kind = osutils.file_kind(self.abspath(relpath))
1295 if kind == 'directory':1295 if kind == 'directory':
1296 (index, index_path) = self._lookup_index(relpath.encode('utf-8'))1296 (index, index_path) = self._lookup_index(relpath.encode('utf-8'))
1297 if index is None:
1298 return kind
1297 try:1299 try:
1298 mode = index[index_path].mode1300 mode = index[index_path].mode
1299 except KeyError:1301 except KeyError:
13001302
=== modified file 'breezy/git/workingtree.py'
--- breezy/git/workingtree.py 2018-08-04 17:32:58 +0000
+++ breezy/git/workingtree.py 2018-08-12 03:29:07 +0000
@@ -631,13 +631,12 @@
631 match = self._global_ignoreglobster.match(filename)631 match = self._global_ignoreglobster.match(filename)
632 if match is not None:632 if match is not None:
633 return match633 return match
634 encoded_filename = filename.encode('utf-8')
635 try:634 try:
636 if self.kind(filename) == 'directory':635 if self.kind(filename) == 'directory':
637 encoded_filename += b'/'636 filename += '/'
638 except errors.NoSuchFile:637 except errors.NoSuchFile:
639 pass638 pass
640 encoded_filename = encoded_filename.lstrip(b'/')639 filename = filename.lstrip('/')
641 ignore_manager = self._get_ignore_manager()640 ignore_manager = self._get_ignore_manager()
642 ps = list(ignore_manager.find_matching(filename))641 ps = list(ignore_manager.find_matching(filename))
643 if not ps:642 if not ps:

Subscribers

People subscribed via source and target branches