[MERGE][#149113] Fix handling of executable=None

Alexander Belchenko bialix at ukr.net
Wed Oct 17 07:29:36 BST 2007


bb:abstain

John, I will not approve this patch, because it breaks old behavior
re merge and manipulating with x-bit in repository with my x-bit plugin.
I don't know why Robert write what he write with executable = None
but it's incorrect, IMO.

The changes below also seem to solve the problem for me, I'm not sure is 
it fully right way, though.

=== modified file 'bzrlib/workingtree.py'
--- bzrlib/workingtree.py 08.10.2007 10:29:57
+++ bzrlib/workingtree.py 16.10.2007 12:34:32
@@ -706,7 +706,9 @@
              size = stat_result.st_size
              # try for a stat cache lookup
              if not supports_executable():
-                executable = None # caller can decide policy.
+                id_ = self.inventory.path2id(path)
+                entry = self._inventory[id_]
+                executable = entry.executable or False
              else:
                  mode = stat_result.st_mode
                  executable = bool(stat.S_ISREG(mode) and stat.S_IEXEC 
& mode)





More information about the bazaar mailing list